为什么保存不了记录?

LuckyBoy_Bob 2005-08-30 01:44:17
我用dataset.merge记录合并,并更新本地数据库,为什么不行?
private void menuItem_receive_Click(object sender, System.EventArgs e)
{
GmServices.LnService ln=new RnasServer.GmServices.LnService();
updateds=ln.Order_Update_gm();
if(updateds!=null)
{
update_database(updateds);
}

}

private void update_database(DataSet dsOrder)
{
string strConn=@"server=APP-SERVER;database=CustomerService;user id=sa;pwd=4H34M1X;";
SqlConnection CN=new SqlConnection(strConn);
try
{
CN.Open();
this.adp=new SqlDataAdapter("select * from receive ",CN);
this.adp.Fill(ds,"order");
ds.Merge(dsOrder);
SqlCommandBuilder sqlcb=new SqlCommandBuilder(adp);
this.adp.Update(ds,"order");
this.ds.AcceptChanges();

//test
// for(int j=0;j<=7;j++)
// {
// for(int i=0;i<=10;i++)
// {
// string m=ds.Tables[0].Rows[j][i].ToString();
// MessageBox.Show(m);
// }
// }

}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
CN.Close();
}
}
不出错,但数据库没有新记录合并进去!
...全文
110 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
namhyuk 2005-08-30
  • 打赏
  • 举报
回复
记得有一次select语句里加上case when后CommandBuilder就罢工了!
看来CommandBuilder比较喜欢纯洁型的。
cdo 2005-08-30
  • 打赏
  • 举报
回复
你的receive表是不是有多个key?如果是的话,用SqlCommandBuilder不一定能生成正确的update或insert语句.你自己写出这两个语句试试.

110,533

社区成员

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

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

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