[英]C# SQL Server CE not inserting
SqlCeConnection sqlCnn =
new SqlCeConnection(Properties.Settings.Default.mainDBConnectionString);
SqlCeCommand sqlCmd = new SqlCeCommand(
"INSERT INTO desktopItems (Location,Label) VALUES (@Location, @Label)",
sqlCnn);
sqlCnn.Open();
sqlCmd.Parameters.Add("@Location", openExe.FileName.ToString());
sqlCmd.Parameters.Add("@Label", openExe.SafeFileName.ToString());
sqlCmd.ExecuteNonQuery();
sqlCnn.Close();
我有這個代碼但是當我運行程序時,數據庫沒有更新...
通常這種情況是由可視化數據庫中的簡單錯誤引起的。
您的INSERT按預期工作,但您檢查插入是否成功查看錯誤目錄中的數據庫。
將DATADIRECTORY
替換字符串與WinForms
應用程序一起使用意味着,在調試時,您的數據庫應位於基礎項目文件夾的目錄BIN\\DEBUG
。
Visual Studio確保是這種情況,因為在您的項目中,數據庫文件標記為“ Copy To The Output Directory
”屬性設置為Copy Always
或“ Copy If Newer
。
當您在Visual Studio的調試會話中運行代碼時,就會發生插入。
然后使用SERVER EXPLORER
連接檢查執行結果。 但是此連接指向項目文件夾中的原始數據庫,當然,新記錄不存在。
通常,項目文件夾中的數據庫使用正確的模式和初始數據保持最新的部署,但沒有任何僅為調試目的而插入的記錄。
因此,您可以簡單地向指向BIN \\ DEBUG中的數據庫的SERVER EXPLORER添加新連接,重命名它(如'DEBUG-DB')並保留原始連接,以防您需要更改數據庫模式中的某些內容在發布申請之前。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.