C# 用OleDbDataAdapter 和DataSet 更新多条记录
int id = Convert.ToInt32(Request["id"]);
OleDbCommand comm = new OleDbCommand("select dc_id,item_id,value,items from diaocha_item where dc_id=@dc_id", conn);
comm.Parameters.Add("dc_id", OleDbType.Integer).Value = id;
OleDbDataAdapter da = new OleDbDataAdapter(comm);
DataSet ds = new DataSet();
da.Fill(ds);
OleDbCommandBuilder CommBui = new OleDbCommandBuilder(da);
//sqlcommandbuilder
DataTable dt = ds.Tables[0];
dt.PrimaryKey = new DataColumn[]{dt.Columns["item_id"]};
dt.TableName = "new";
foreach (DataRow dr in dt.Rows)
{
dr.BeginEdit();
dr["value"] = "ffffffffffffff";
dr.EndEdit();
}
da.UpdateCommand = new OleDbCommand("update diaocha_item set value=@value where item_id=@item_id", conn);
//ds.Tables.Add(dt);
da.Update(ds,"new");
string valStr = Server.UrlDecode(Request["value"]);
/*
string[] vals_ = valStr.Split( '|');
foreach (string val_ in vals_)
{
string[] val = val_.Split(':');
}
*/
Response.Write(Request["id"] + " " + valStr);
...全文
请发表友善的回复…
发表回复
rekym 2011-03-20
- 打赏
- 举报
da.UpdateCommand = new OleDbCommand("update diaocha_item set value=@value where item_id=@item_id", conn);
这句咋写这里呀...数据在查询da.FILL前先要处理这个呀...
参考这个:
private SqlDataAdapter dataAdapter;
private dataset ds=new dataset();
//点击查询按钮 查询数据并绑定datagridview 这里是一个点击查询的动作
public void bt_select_Click(object sender, EventArgs e)
{
SqlCommand myCommand = new SqlCommand("select * from financetable", conn);
myAdapter = new SqlDataAdapter(myCommand );
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
//三条SQL执行语句,我这里是自动生成的..LZ可以参考
myAdapter.InsertCommand = myCommandBuilder .GetInsertCommand();
myAdapter.UpdateCommand = myCommandBuilder .GetUpdateCommand();
myAdapter.DeleteCommand = myCommandBuilder .GetDeleteCommand();
ds.clear();
try
{
conn.Open();
myAdapter.Fill(ds,"table");
conn.Close();
dataGridView1.DataSource = ds.Tables["table"];
}
catch(Exception err)
{
messagebox.show(err.ToString());
conn.Close();
}
}
//点击保存按钮
private void bt_save_Click(object sender, EventArgs e)
{
foreach (DataRow dr in ds.tables("table").Rows)
{
dr.BeginEdit();
dr["value"] = "ffffffffffffff";
dr.EndEdit();
}
myAdapter.Update(ds, "table"); //这样就可以把数据库更新了...
}
孙旭辉 2011-03-20
- 打赏
- 举报
没人帮忙么?