我有一個C#程序,INSERT,SELECT工作正常。我想嘗試更新我的DataGridView
到數據庫。C#sqllite datatable到數據庫更新不會工作
如果我在GridView中刪除一行,然後將它作爲DataTable發送到數據庫,除了一件事情之外,所有這些都可以正常工作,它會將新條目寫入我的三行,刪除後變爲5後應該是2。
這裏是我的代碼:
public void Update(DataTable dataforupdate, string table)
{
if (table == "Musik")
{
SQLiteDataAdapter adapter = new SQLiteDataAdapter("SELECT * FROM Musik",m_dbConnection);
SQLiteCommandBuilder builder = new SQLiteCommandBuilder(adapter);
adapter.Update(dataforupdate);
}
}
應該刪除表,然後插入的所有數據的數據表(它是具有多個刪除或插入時,最容易的事情)。
編輯:它現在複製表並插入它,所以表中有兩次。 在添加DataTable之前,似乎沒有必要使用「DELETE FROM MUSIK」,但它確實有效,如果可以幫助我想知道更好的解決方案。
你爲什麼要刪除整個表格。您應該刪除行並更新行。除非你的改變幾乎影響你所有的餐桌,否則你的方法是正確的。 – AnthonyLambert
我認爲這會更容易,因爲我真的不知道如何正確使用它。 –
至於現在它需要新的條目和插入到數據庫,連同已經在那裏的所有條目。所以每次我添加一個新條目時,它都會將所有條目+ 1插入到數據庫中,這意味着數據庫在每次運行時都會加倍。 –