2010-06-03 83 views
0

场景:我只是试图更新我的数据库与用户所做的更改他们的信息。这里是我的代码:C#ASP.NET更新数据库与数据表

SqlCommandBuilder cb = new SqlCommandBuilder(da); 

dt.Rows[0][2] = txtname.Text; 
dt.Rows[0][3] = txtinterests.Text; 
dt.Rows[0][4] = txtlocation.Text; 

da.SelectCommand = new SqlCommand(sqlcommand, conn); 
da.Update(dt); 

我知道它会变得很明显,但是我错过了什么?没有错误,一切都编译正确,但没有任何反应。记录保持不变。

回答

1

您需要在dataadapter上定义UpdateCommand(也可能是InsertCommand)。

对于数据表中的每个修改行,它将触发您指定为UpdateCommand的命令。
对于数据表中的每个新行,它将触发您指定为InsertCommand的命令。

查看MSDN reference here

+0

我在代码中添加了'da.UpdateCommand = new SqlCommand(sqlcommand,conn);'。我需要比这更多吗?我过去做过这件事,我确信它非常简单。 – 2010-06-03 10:43:43

+0

检查以确保您的UpdateCommand有效 - 您可以发布SQL是什么吗?另外,检查你的DataTable - 一步一步检查你是否有RowState of Modified(如果你没有,那么它不会更新任何东西)行。 – AdaTheDev 2010-06-03 10:46:35

+0

SQL只是'“SELECT * FROM Users'。这个必须与update有关吗?行状态也是Modified。 – 2010-06-03 10:51:27