请问如何把一个已经存在的DataSet更新到数据库?

xiaojhun 2005-12-07 09:22:46
我已经生成一个DataSet名叫ds,里面只有一个表people,我对其进行了更改和插入一新行,现在我不知道如何和SqlDataAdapter联系上并进行更新,我找不到适合的参数来设置。
请问如何做?前提是asp.net下
...全文
204 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChengKing 2005-12-08
  • 打赏
  • 举报
回复
你的意思是说,你的DataSet是自定义的.
1.
可以用SqlCommandBuilder更新。
具体请看:
http://blog.csdn.net/chengking/archive/2005/08/26/465874.aspx

2.也可以用SqlCommand对象的执行Sql语句方法进行一条一条地插入数据库.


kingzhou8 2005-12-08
  • 打赏
  • 举报
回复
private void commnd()
{
string insertcmd="insert into yuangong(yg_Name,yg_Sex,yg_Birthday,yg_Phone,yg_Email,yg_Address,yg_Zip) values ( @yg_Name,@yg_Sex,@yg_Birthday,@yg_Phone,@yg_Email,@yg_Address,@yg_Zip)";
string updatacmd="update yuangong set yg_Name=@yg_Name,yg_Sex=@yg_Sex,yg_Birthday=@yg_Birthday,yg_Phone=@yg_Phone,yg_Email=@yg_Email,yg_Address=@yg_Address,yg_Zip=@yg_Zip where yg_No=@yg_No";
string deletecmd="delete from yuangong where yg_No=@yg_No";
cmd=new AseCommand(insertcmd,conn);
cmd.Parameters.Add("@yg_Name",AseDbType.Char,20,"姓名");
cmd.Parameters.Add("@yg_Sex",AseDbType.Char,2,"性别");
cmd.Parameters.Add("@yg_Birthday",AseDbType.DateTime,18 ,"生日");
cmd.Parameters.Add("@yg_Phone",AseDbType.Char,15,"电话");
cmd.Parameters.Add("@yg_Email",AseDbType.Char,100,"Email");
cmd.Parameters.Add("@yg_Address",AseDbType.Char,200,"住址");
cmd.Parameters.Add("@yg_Zip",AseDbType.Char,6,"邮编");
da.InsertCommand=cmd;
cmd=new AseCommand(updatacmd,conn);
cmd.Parameters.Add("@yg_Name",AseDbType.Char,20,"姓名");
cmd.Parameters.Add("@yg_Sex",AseDbType.Char,2,"性别");
cmd.Parameters.Add("@yg_Birthday",AseDbType.DateTime,18 ,"生日");
cmd.Parameters.Add("@yg_Phone",AseDbType.Char,15,"电话");
cmd.Parameters.Add("@yg_Email",AseDbType.Char,100,"Email");
cmd.Parameters.Add("@yg_Address",AseDbType.Char,200,"住址");
cmd.Parameters.Add("@yg_Zip",AseDbType.Char,6,"邮编");
cmd.Parameters.Add("@yg_No",AseDbType.Numeric,10,"员工号");
da.UpdateCommand=cmd;
cmd=new AseCommand(deletecmd,conn);
cmd.Parameters.Add("@yg_No",AseDbType.Numeric,10,"员工号");
da.DeleteCommand=cmd;
}


private void button2_Click(object sender, System.EventArgs e)
{
try
{
da.Update(ds.Tables[0]);
ds.Tables[0].AcceptChanges();
MessageBox.Show("保存成功~~~");
}
catch
{
MessageBox.Show("保存失败~~~");
}
}
ysgan 2005-12-08
  • 打赏
  • 举报
回复
有没有试过SqlCommandBuilder
xiaojhun 2005-12-08
  • 打赏
  • 举报
回复
我的ds是没有使用SQLDataAdapter从数据库的一个表A查询来的,,我现在更改了ds后要更新到数据库表A
tylike 2005-12-07
  • 打赏
  • 举报
回复
从toolbox上托一个adapter,然后按向导选择相对应的表,然后使用
adapter.update(yourdataset);
如果要更新多个表,需要生成多个adapter
lakers_ren 2005-12-07
  • 打赏
  • 举报
回复
update不行?
Ring1981 2005-12-07
  • 打赏
  • 举报
回复
DataTable dt = ds.Tables[0];
foreach (DataRow dr in dt.Rows)
{
sql = "insert into table (field1, field2, ...) values ('"+dr["??"].ToString()+"',...)";
SqlCommand cmd = new SqlCommand();
cmd.CommandText = sql;
cmd.Connection = Conn;
Conn.Open();
cmd.ExecuteNonQuery();
...

}

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧