一个连接数据库的字符串:
cn.ConnectionString = @"Provider=Microsoft.JET.OLEDB.4.0;data source = C:\cars.mdb";我获取了一个包含路径的字符串变量,如txtPath,它的值是“C:\database\cars.mdb”,会发生变化。cn.ConnectionString = @"Provider=Microsoft.JET.OLEDB.4.0;data source =" + txtPath.Text;
是错的。应该如何将他和ConnectionString连接起来呢?

解决方案 »

  1.   

    把txtPath中“\”Replace成“\\”
      

  2.   

    想显示一个\ 就放两个\  "C:\database\cars.mdb"
    写成"C:\\database\\cars.mdb"
      

  3.   

    但是txtPath中的值是变量,不能每次都挨个地加上“\\”吧。还有更妙的主意吗?谢谢!
      

  4.   

    string a=txtPath.Text;
    string b="";
    string b= a.Replace("\", "\\");cn.ConnectionString = @"Provider=Microsoft.JET.OLEDB.4.0;data source =" + b;不知道这样可以了吗?
      

  5.   

    string conPath = @"C:\database\cars.mdb";
      

  6.   

    string b= a.Replace("\", "\\");
    有错误
      

  7.   

    C:\\database\\cars.mdb这样就应该没问题了
      

  8.   

    public static string strConn = @"Data Source=com;Initial Catalog=rsgl;User Id=sa;Password=sa;" ;
    这样连接不行吗?
      

  9.   

    对不起啊 原来你的库是asscse的
    下面的代码应该没问题吧!!!
    protected static string strConn = @"Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " + Application.StartupPath + "\\*.mdb";
      

  10.   

    对不起啊 原来你的库是access的
    下面的代码应该没问题吧!!!
    protected static string strConn = @"Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " + Application.StartupPath + "\\*.mdb";
      

  11.   

    你确定是这个问题吗?
    我个人觉得不太可能获得:"C:\database\cars.mdb"。通常我们获得的都会是:@"C:\database\cars.mdb",即"C:\\database\\cars.mdb"。"C:\database\cars.mdb"-->因为这个字符串本身就有问题,所以不太可能使它变成:
    "C:\\database\\cars.mdb"。估计你遇到的是其它问题。
      

  12.   

    如果写入绝对路径,如C:\cars.mdb,运行正常。如果用字符串变量代换就不可以通过。
    这样不知道可以不可以:string a = txtPath.text;protected static string strConn = @"Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " + @a;