我有一个我一直在研究的应用程序,直到现在我一直在使用Access作为数据库。我将它转换为SQL,我对它有点新鲜。
我的代码如下
public bool Update_DB_FromTable(DataTable DTable)
{
try
{
SqlConnection myConnection = new SqlConnection("Data Source=" + hostname + " ;User ID=SALX; Password=password;" +
"database=" + dbname + "; " +
"connection timeout=30");
myConnection.Open();
SqlCommand myCommand = new SqlCommand("SELECT * FROM dbo." + tablename, myConnection);
SqlDataAdapter da = new SqlDataAdapter(myCommand);
SqlCommandBuilder b = new SqlCommandBuilder(da);
int count = da.Update(DTable);
myConnection.Close();
return true;
}
catch
{
return false;
}
}
这是有效的,但每次运行时它只是将数据附加到数据库的末尾,而不像Access中那样“更新”数据库。最糟糕的部分是因为它创建了许多重复的条目,我无法从数据库中手动删除它们。
非常感谢任何帮助。
干杯,
-Sean -
这可能是一个真正的菜鸟问题,但我很难过......
答案 0 :(得分:3)
“DTable”中的行决定数据库中相应行的内容。如果“DTable”中的行具有状态“isNew”,则将插入该行,如果状态为“已修改”,则将更新db-table。