我有一个应用程序,我一直在努力,直到现在我一直使用Access作为数据库。我将它切换到SQL,我有点新鲜。SQLDataAdapter正在更新,但它附加到数据库并没有更新
我的代码如下
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;
}
}
这工作,但每次运行它只是将数据追加到数据库的结尾,并没有“更新”数据库就像访问。最糟糕的部分是因为它创造了许多重复的条目,我不能手动删除它们从数据库中..
任何帮助将不胜感激。
干杯,
-Sean-
这可能是一个真正的菜鸟问题,但我难倒..
您可以将最初输入数据的代码发布到DataTable中吗?谢谢。 – ristonj 2012-03-30 15:21:40
起初我从OleDbDataAdapter.Fill(MS Access的表格)填充数据表,当我更新sqlDataAdapter与该表没有任何事情发生。所以我从该DataTable中实际构建了一个新的DataTable并进行了更新。这给我带来了它被插入的问题,每次运行它只是将所有记录追加到底部 – 2012-03-30 16:23:48