求助!!!!dataset更新数据库问题,使用update出现insert语句问题????

朔北冥 学生  2016-06-10 08:31:28
代码如下:
protected void updata()
{
OleDbCommandBuilder builder = new OleDbCommandBuilder(da);
da.InsertCommand = builder.GetInsertCommand();
da.UpdateCommand = builder.GetUpdateCommand();
da.DeleteCommand = builder.GetDeleteCommand();
da.Update(ds, "comment");
ds.AcceptChanges();
}
protected void submit_Click(object sender, EventArgs e)
{

if (Session["username"] == null)
Response.Write(com.msgBox("请先登录", "comment.aspx"));
else
{
if (comment.Text.Trim() != null)
{
DateTime DT = System.DateTime.Now;
string dt = System.DateTime.Now.ToString();
string str = "<br />" + "<p class=name>" + Session["UserName"].ToString() + "(" + dt + "):" + "</p>" + "   " + comment.Text.Trim().ToString();
label1.Text += str;

DataRow row = ds.Tables[0].NewRow();
row[0] = Session["UserName"];
row[1] = Session["Author"];
row[2] = Session["Title"];
row[3] = comment.Text.Trim().ToString();
row[4] = dt;

ds.Tables[0].Rows.Add(row);
updata();
}
}

}

数据库截图:
异常截图:
...全文
102 点赞 收藏 5
写回复
5 条回复
exception92 2016年06月12日
看查看详细信息..... 中的 innerexception ,stack
回复 点赞
以专业开发人员为伍 2016年06月11日
Update操作会自动触发“insert、update、delete”语句。这有什么问题吗? 这个 Update 不是 sql update语句,不要吧二者搞混了。
回复 点赞
程序猿老曾 2016年06月11日
你这写法有点小问题…而且你的update函数都没有什么ds啊!而且上下文也没发现
回复 点赞
朔北冥 2016年06月11日
引用 2 楼 sp1234 的回复:
Update操作会自动触发“insert、update、delete”语句。这有什么问题吗? 这个 Update 不是 sql update语句,不要吧二者搞混了。
嗯,update的实质是自动通过dataset对象的变化来生成sql语句,我调试过程中碰到的异常就是因为update语句生成的sql语句有问题。
回复 点赞
Mr_Brown007 2016年06月10日
我今晚也写了一个更新数据库的代码,用的是SQLcommandBuilder,差不多,但是我没有将它独立成一个方法,直接写在按钮下, sqlCommandBuilder builder = new sqlCommandBuilder(da); da.Update(ds, "comment"); ds.AcceptChanges(); 本身commandbuilder就会自动生成命令,你为何还要重复声明一遍= =。这只是我的点看法,我现在还是编程渣,希望能共同学习进步
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.5w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告