C#路径问题怎么把C:\\aa\\bb转换为C:\aa\bb

解决方案 »

  1.   

    我用了正则式也不行
    Path = openFileDialog.FileName;
    string t1=path;
    string t2=@"\";
    string t3=regex.replace(t1,"\\",t2);
    结果还是一样没有任何变化.
      

  2.   

    我要做的是从一个excel表中查询结果插入到一个access的表中这个两个结构一样,.这个excel的路径是个变量.
    一下是代码
                    string EXEPath = System.Windows.Forms.Application.StartupPath;
                    Link LinkStr = new Link();//连接类
                    string Str = LinkStr.LinkStr(EXEPath);
                    OleDbConnection objConn = new OleDbConnection(Str);
                    objConn.Open();
                    OleDbCommand objCmd = new OleDbCommand();
                    string path = this.textBox5.Text.Trim();//从openFileDialog.FileName得到excel的路径.
                    objCmd.Connection = objConn;
                    objCmd.CommandText = @"insert into TempSite (site,sitename,area,bsc,bcf)SELECT site,sitename,area,bsc,bcf FROM [Excel 5.0;HDR=YES;DATABASE="+@path+"].[Sheet1$]";
                    objCmd.ExecuteNonQuery();
                    objConn.Close();
      

  3.   

    DATABASE="+@path+"这里不需要用 @ 的在用this.textBox5.Text获取路径的时候是不需要对路径进行处理的
      

  4.   

    那你直接用 sring a="c:\\b\\ds.txt"  a.replace("\\","\"); 就可以了
      

  5.   

    还是不行呀!你调试一下
    a.replace("\\",@"\"); 结果还是错的;
    调试结果
    还是a="c:\\b\\ds.txt"
      

  6.   

    C#中 
    string a = "C:\\aa\\bb";
    表示的就是C:\aa\bb,不知道你为什么还要替换。代码出错,也不会是因为这个大问题
      

  7.   

    objCmd.CommandText = @"insert into TempSite (site,sitename,area,bsc,bcf)SELECT site,sitename,area,bsc,bcf FROM [Excel 5.0;HDR=YES;DATABASE="+path+"].[Sheet1$]";看一下这个语句,path代表在excel所在的位置
    下面的字符串可以执行查询,
    insert into TempSite (site,sitename,area,bsc,bcf)SELECT site,sitename,area,bsc,bcf FROM [Excel 5.0;HDR=YES;DATABASE=F:\SiteInfo.xls].[Sheet1$]
    这个时在调试时出的结果.用这个字符串做查询时,就出错!
    insert into TempSite (site,sitename,area,bsc,bcf)SELECT site,sitename,area,bsc,bcf FROM [Excel 5.0;HDR=YES;DATABASE=F:\\SiteInfo.xls].[Sheet1$]
      

  8.   

    字符串里面 \\ 就是平时的 \   转义另外C#里面 @"c:\a.txt" 同样有效果不用转义了
      

  9.   

    找Bug去  不是这的问题
      

  10.   

    大家可以随便做一个试试!
    只用做一个字段的access和一个字段的excel作一个测试.
    excel的路径是用一个openFileDialog取得的!
    然后把这个excel的路径作为一个参数,执行一下看看
    objCmd.CommandText = @"insert into TempSite (site,sitename,area,bsc,bcf)SELECT site,sitename,area,bsc,bcf FROM [Excel 5.0;HDR=YES;DATABASE="+excel的路径+"].[Sheet1$]";
    谢谢帮忙!
    现在要吐血了!
      

  11.   

    "C:\\aa\\bb";
    这个东西就是c:\aa\bb
    为啥要替换呢?这样也可以:@"c:\aa\bb"
      

  12.   

    objCmd.CommandText = @"insert into TempSite (site,sitename,area,bsc,bcf)SELECT site,sitename,area,bsc,bcf FROM [Excel 5.0;HDR=YES;DATABASE="+path+"].[Sheet1$]";
    将objCmd.CommandText = @的@去掉.
      

  13.   

    真晕~  C:\\aa\\bb 输出之后就是 C:\aa\bb 
    是你@放的地方不对吧 ~
      

  14.   

    上面多打了一个,
    str.replace("\\\\",@"\");
    str.replace("\\\\","\\");
      

  15.   

    我用了正则式也不行
    Path = openFileDialog.FileName;
    string t1=path;
    string t2=@"\";
    string t3=regex.replace(t1,"\\",t2);
    结果还是一样没有任何变化------------------
    改成
    string t3=regex.replace(t1,"\\\\",t2);
      

  16.   

    草 您们懂毛啊  你们做过EXCEL 写入图片么??  你们试一试不转过来能写入