2012-05-31 45 views
0

我有一個奇怪的問題,我的本地數據庫。我將它添加爲.mdf文件,並在其中創建了2個表格。.mdf文件不響應SqlCommand.ExecuteNonQuery

我測試了連接,消息框指出連接正常工作。

當我嘗試從我的C#應用​​程序向該數據庫中插入數據時出現問題。我嘗試兩種不同的方式:

  1. 通過使用SqlCommand.ExecuteNonQuery("INSERT INTO ....")
  2. 通過使用.dbml文件(LINQ到SQL)的datacontext

當我嘗試插入數據,不會引發錯誤,但沒有數據也被插入到數據庫中。可能是什麼問題呢?

我使用C#在VS 2010和SQL Server 2005,使我的應用程序

+0

您是否嘗試過在SQL Management Studio中刷新數據庫視圖?轉到應該有新表的數據庫,選擇它,然後按F5。你有你的桌子!或者,如果這不起作用,發佈您的'ExecNonQuery'代碼... – MoonKnight

+0

你能告訴我們你的**連接字符串**嗎?我有一個預感 - 但我需要看看你是否真的使用這種方法...... –

+0

這是我的連接字符串:'Data Source =。\ SQLEXPRESS; AttachDbFilename = | DataDirectory | \ MDC.mdf;集成安全性= True;用戶Instance = True' 我發現了一件非常奇怪的事情:我試圖通過使用dataGridView直接從應用程序顯示數據,並且它正常工作。但是,當我關閉應用程序並嘗試從VS 2010手動查詢數據庫時,它顯示它是空的。 – NDraskovic

回答

1

與MDF文件大部分已知的問題往往歸結爲一個:

  • 什麼文件都我居然開?
  • 是我每次運行該應用程序時,實際上是通過該文件複製的構建/運行過程?
  • 我有無償的錯誤處理吞嚥異常嗎?

檢查您的連接字符串,並期待在執行文件夾(而不是項目文件夾),直到你非常確保正在打開的文件。它應該在工作後得到更新(確保你正確地處理連接等)。

另外:嘗試在插入後立即在新的數據上下文中獲取數據,所以看看它是否成功。

+0

是的,我想到了。請看看我在我的問題中發佈的評論。 – NDraskovic

+0

@NDraskovic確實;回答說 –