110,567
社区成员
发帖
与我相关
我的任务
分享
//添加链表数据库实例
sIP ="192.168.3.100\\sql2008";//此数据从数据库读出,数据表里的值就是一个\单杠,但读出来就是双的.
ExeSql("exec sp_addlinkedserver 'RemoteServ','','SQLOLEDB','" + sIP + "'");
//执行查询
public static void ExeSql(string sql)
{
using (SqlConnection con = new SqlConnection(conn))
{
con.Open();
SqlCommand cmd = new SqlCommand();//sql, con
try
{
cmd.Connection = con;
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
}
catch (System.Exception ex)
{
}
}
}
var sIP = "192.168.3.100\\sql2008";
var s = string.Format("field='{0}'", sIP.Replace("\\", "\\\\"));
Console.WriteLine(s); //field='192.168.3.100\\sql2008'
如果不做转义处理的话,field='192.168.3.100\sql2008' 作为 SQL 指令的一部分就会出现问题sIP ="192.168.3.100\\sql2008";
这行代码吧!
当你的调试断点停在这条语句的下面(后边的代码),然后要查看 sIP 值,使用鼠标指向这个变量,在鼠标指针的旁边机会出现一个小三角。点开这个三角可以看到几个选项,其中第一个就是“文本可视化工具”,点击它就能看到的文本了。
从监视窗口,也是一样地,要选择“文本可视化工具”来查看文本。
你没有查看文本值,查看的是源代码,那么当然是看到了包括转意符号的内容。