簡體   English   中英

C#SQL Server CE未插入

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM