比如:
db.sql="select userid,uname,userpassword from "t_usertable" where username='"+b_na.Text+"'";
运行报错!
但是表名必须加引号,是小写的.如何转义?
db.sql="select userid,uname,userpassword from "t_usertable" where username='"+b_na.Text+"'";
运行报错!
但是表名必须加引号,是小写的.如何转义?
你的代码似乎有些问题t_usertable是表名吧?要引起来吗?应该是直接可以用不需要加引号吧。是不是忘记+号了?
db.sql="select userid,uname,userpassword from "+ t_usertable + " where username='"+b_na.Text+"'";
在C#中使用\加上你要使用的字符来转义如:
\n
\r
\"
\t2、对于你的情况建议不要使用这种方式,改为:
db.sql=string.Format("select userid,uname,userpassword from {0} where username='{1}",t_usertable,b_na.Text) ;
http://www.cnblogs.com/zhouxuanmsn/articles/676944.html
http://read.newbooks.com.cn/info/196181.html引用部分:转义字符 转义字符的意义
\n 回车换行
\t 横向跳到下一制表位置
\v 竖向跳格
\b 退格
\r 回车
\f 走纸换页
\\ 反斜线符"\"
\' 单引号符
\a 鸣铃
\ddd 1~3位八进制数所代表的字符
\xhh 1~2位十六进制数所代表的字符
@在c#中为强制不转义 的符号,在里面的转义字符无效
string str1 = "abc\n"; // 这里\n当然默认转为换行符
string str2 = @"abc\n" // 这里\n不自动转为换行符号,相当于 str2 = "abc\\n"以下两种方式等效
string aaa="D:\\Root\\SendEmail\\SendEmail\\bin\\Debug\\downjmail.dll";
string aaa=@"D:\Root\SendEmail\SendEmail\bin\Debug\downjmail.dll";
是表明直接转义:
db.sql="select userid,uname,userpassword from \"t_usertable\" where username='"+b_na.Text+"'";
//用format的方法也可以
db.sql=string.Format("select userid,uname,userpassword from \"t_usertable\" where username='{0}'",b_na.Text);