2012-02-17 121 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