2012-02-17 163 views
0

是「將使用LINQ2SQL &不要更改提交數據後,我不能找到數據庫中的數據」的問題,我將更多地解釋: 首先這裏是我的數據庫設計: enter image description here很奇怪lin2sql錯誤

我做確保我得到了汽車主鍵插入 我確信,數據上下文是在爲我的.mdb文件相同的路徑在於 我用VS2010服務器資源管理器來檢查DB數據

這是我使用的功能插入簡單的數據:

public static bool add_contractor(string name,string ssn, string address) 
     { 
      Contractor co = new Contractor(); 
      co.co_address = address; 
      co.co_name = name; 
      co.co_ssn = ssn; 
      db.Contractors.InsertOnSubmit(co); 
      try 
      { 
       db.SubmitChanges(); 


      } 
      catch (Exception) 
      { 

       return false; 
      } 
      return true; 
     } 

我沒有調試&檢查功能,我沒有提交&錯誤應提交的數據。

雖然我使用下面的函數來從表「承包商」的數據運行[程序&:

public static Contractor[] get_contractors() 
     { 
      var ret = from p in db.Contractors 
         select p; 

      return ret.ToArray<Contractor>(); 
     } 

然後顯示它,我發現我插入的數據...偉大至今,

我去服務器資源管理器&檢查的數據,但我並不覺得奇怪....呵呵

我使用的功能再次&它告訴我,我插入的數據存在s .... 當我關閉我的程序&重新運行它,我沒有找到我插入的數據。

回答

2

你提到你正在使用一個mdb文件,如果它被設置爲始終複製,每次你調試它都會覆蓋它。因此,當你再次運行時沒有數據。

嘗試將文件放在項目之外並將連接字符串指向該連接字符串,查看數據是否存在。

+0

我按照你所說的那樣,看起來就是這個問題 我從項目中排除了.mdb文件,重新構建了linq2sql類,出現此錯誤「試圖爲文件E附加一個自動命名的數據庫: \公司工作\ FreeLancer \ Payroll \ Software \ Contractors \ Contractors \ bin \ Release \ Data.mdf失敗。具有相同名稱的數據庫存在,或指定的文件無法打開,或位於UNC共享上。 ALl我可以看到它試圖從bin或debug文件夾中獲取DB文件,即使它不存在 – xsari3x 2012-02-17 03:08:05

+0

這是來自屬性的連接字符串: - Data Source =。\ SQLEXPRESS; AttachDbFilename = | DataDirectory | \ Data.mdf ;集成安全性= True;連接超時= 30;用戶實例= True – xsari3x 2012-02-17 03:11:56

+0

我更改了| DataDirectory |進入真正的物理道路,謝謝你讓我走上了道路:) – xsari3x 2012-02-17 03:14:46