C#中,怎么用DataSet更新数据库?

我是想把数据库中的一个表 填到 dataset中,然后显示到dataGridView上,在dataGridView上更改,点击按钮更新到数据库,这个过程怎么写? 本人刚学习这个, 要求有代码例,和一些文字说明。急死了
我说清楚点吧;如下面:

string Conn = "server=.;database=MySchool;uid=sa;pwd=sasa";
SqlConnection conn = new SqlConnection(Conn);
string sSql = "select * from student";
SqlDataAdapter da = new SqlDataAdapter(sSql, conn);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
上面代码,已经实现把数据库中的student表 添加到DataSet中并显示到dataGridView
上,
现在我想问 怎么在dataGridView中更改DataSet中的一条记录,然后按保存按钮,更新到数据库?

C#中,怎么用DataSet更新数据库?
System.Data.SqlClient.SqlDataAdapter mDA = new New System.Data.SqlClient.SqlDataAdapter();

...此处略去几行...

mDA.Update(dataset,“tableName”);

备注:tableName 是你取出数据放在dataset里面的某张表名
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-11
楼上大哥,楼主要实现DataSet更新数据库,不是从数据库里提数据

我记得SqlDataAdapter里有增,删,改,查的属性啊,可以直接用
第2个回答  2010-11-11
#region 批量插入数据到数据库
public int UpData(string cmdText, CommandType type, IDbDataParameter[] paramList, DataTable info)
{
int result = 0;
ClearCommand();
cmd.Connection = conn;
cmd.CommandText = cmdText;
cmd.CommandType = type;
foreach (SqlParameter param in paramList)
{
cmd.Parameters.Add(param);
}
SqlDataAdapter sda = new SqlDataAdapter();
sda.InsertCommand = cmd;
try
{
result = sda.Update(info);
return result;
}
catch (Exception ex)
{
if (tran != null)
{
RollbackTran();
}
throw ex;
}
}
#endregion

这个是我写的,CmdText一般就是insert 语句
第3个回答  2010-11-11
sqlconnection conn = new sqlconnection();
conn.connectionString = “这里写你的连接字符串”;
sqldataadapter da = new sqldataadapter(“select * from 表”,conn);
dataset ds = new dataset();
da.fill(ds);
dataGridView。datasourse = ds;
不过这样不会显示的,datagridview的数据源要的是一张表
第4个回答  2010-11-12
private void button1_Click(object sender, EventArgs e)
{

if (isUpdate)
{
try
{
SqlCommandBuilder SCB = new SqlCommandBuilder(SDA);
SDA.Update(你的datatable); //用此方法表必须有主键,

isUpdate = false;
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString());
return;
}
MessageBox.Show("更新成功! ");
}
else
{
MessageBox.Show("没有更新内容! ");
}
}

private void dataGridView1_CellValueChanged(object sender,DataGridViewCellEventArgs e)//判断是否有内容改变
{
isUpdate = true;

dataGridView1[e.ColumnIndex,e.RowIndex].Style.BackColor = Color.Blue;

}本回答被提问者采纳

C# DataSet更新数据!
binddata()} } void binddata(){ dataset ds=取出的数据}button onclick 事件中写 更新数据库操作 然后调用 binddata()

dataset 修改数据库的一个数值。C#
要修改数据库的值就要有update语句 或者封装在ds中的updatecommand 你拼接一个update语句更新不就完了 像你那么改,如果实现的话也只不过改变了用adapter提取出来的数据库结果集的副本,对原始数据没有影响

C# WPF Datagrid 更新数据之后实现关联表更新数据库操作
用DataRow 代表DataTable中的一行数据 DataRow drEmployee = dt.Rows[3]; \/\/获取你要更新的行,3代表行号 drEmployee.BeginEdit();\/\/开始编辑数据 drEmployee("EmpName") = "John";drEmployee("Title")="Sales";drEmployee.EndEdit();\/\/编辑完成 ...

C#如何把DataTable更新到Access数据库
public static void UpdateAccess(DataTable temp){ OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=Data.MDB;Persist Security Info=False;Jet OLEDB:Database Password="); try { con.Open(); OleDbDataAdapter Bada = new OleDbDataAdapter("...

c# winform 如何批量更新数据库数据
dataset.Tables[0].Rows[i]["id"] = "ID"+(i+10000);dataset.Tables[0].Rows[i].EndEdit();}接着一次提交更新就OK了数据适配器.Update(dataset.Tables[0]);然后释放资源,把数据集合适配器的资源都释放掉,连接也返回池中。 dataset.Tables[0].Clear();适配器.Dispose dataset.Dispose...

C#怎么快速批量更新数据库?
下面代码一次是5000个,具体在你那数值是多少可以测试一下 \/\/\/ \/\/\/ 批量更新数据(每批次5000)\/\/\/ \/\/\/ 数据库链接字符串 \/\/\/ public static void Update(string connString, DataTable table){ SqlConnection conn = new SqlConnection(connString);SqlCommand comm = conn.CreateCommand();...

C#如何修改数据库中的数据,进行加一操作
datarow dr=dt.rows[0];dr["列名"]=值;2、作用:如果你不使用dataset模型,每次调用数据都得执行一次数据库连接,效率会很低的;此外控件绑定数据源,用的就是datatable或者dataset;如果你想批量修改数据库中的表数据,只要把dataset的数据批量修改,再用idbadaptor一次更新进数据库就行了,比一次...

c#中关于Dataset,datarow的数据访问问题
DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,...

c#怎么将dataset里面的值放到数据库
DataSet里面都是很多个DataTable,DataTable可以用SqlBulkCopy来批量提交,性能极高。可以一次性提交构建好的DataTable表。using(SqlBulkCopy sqlBC = new SqlBulkCopy("数据库连接字符串")){ \/\/设定目标列表 sqlBC.DestinationTableName = "T_TableName"; \/\/设定本地列-->目标列的一一对应...

C# DataSet更新不了数据库
} \/\/更新dataset实现添加修改删除 public void Updata(string strSql,DataSet ds){ using (OleDbConnection oleCon = new OleDbConnection()){ OleDbDataAdapter oleDap = new OleDbDataAdapter(strSql,strCon);OleDbCommandBuilder oleComBuilder = new OleDbCommandBuilder();oleDap.Update(ds);} } } ...

相似回答