没装SQL所以直接在C#中创建了一个基于服务的数据库,但是运行的时候,在debug里自动生成了一个同名数据库。
用datagridview绑定的时候只能绑定到自动生成的,绑定到原先创建的数据库显示已存在同名数据库。下面是自动生成的两个连接字符
private static string connString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\App_Data\Database.mdf;Integrated Security=True;User Instance=True";
      //  private static string connString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True";只是多了一个\App_Data 求如何才能绑定到原先创建的数据库中c#数据库

解决方案 »

  1.   

    不用管它,编译运行(IDE下)当前路径在Debug或者Release目录,会复制一份过去。发布后就没问题了。
      

  2.   

    Main() 函数里加入以下代码,debug里的数据库会同步的。            string dataDir = AppDomain.CurrentDomain.BaseDirectory;
                if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))
                {
                    dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
                    AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
                }
      

  3.   


    我添加了的是这个
    static void ReSetDataPath()
            {
                string p = AppDomain.CurrentDomain.BaseDirectory;
                if (p.IndexOf("\\bin\\") > 0)
                {
                    if(p.EndsWith("\\bin\\Debug\\"))
                       p=p.Replace("\\bin\\Debug","");
                    if (p.EndsWith("\\bin\\Release\\"))
                        p = p.Replace("\\bin\\Release","");
                }
                if(!p.EndsWith("App_Data\\"))
                    p=p+"App_Data";
                AppDomain.CurrentDomain.SetData("DataDirectory",p);
            }
    但是在修改数据库的时候,修改的只是Debug里面的数据,而创建的不行
      

  4.   

    不会,你重新生成一下解决方案,先把你的哪个连库的语句再从写一下,最好是在外部改,再重新绑定一下数据就好,应该。你不是在配置文件中连接的数据库吗,他会在你的项目中生成一个,用.text,来改里面的东西,看一下行不。
      

  5.   

    如果在C#中建立一个基于服务的数据库,然后发布的时候,是不是机子上还需要有SQL啊