最近写代码的时候,用sql语句老是出错,如何理解sql语句的单引号和双引号?什么时候用,什么时候不能用? 如下面的句子。 请高手指点。StrSql="select * from usersheet where loginname='"+Login1.UserName+"' and userpass='"+Login1.PassWord +"'"
在SQL中是没有双引号的,你看到的是C#里的双引号(而不是SQL语句的),在字符型和日期型的字段值里要加单引号。其实如果你怕单双引号看混了,可以把这个 StrSql="select * from usersheet where loginname='"+Login1.UserName+"' and userpass='"+Login1.PassWord +"'" 改成 StrSql=string.Format("select * from usersheet where loginname='{0}' and userpass='{1}'",Login1.UserName,Login1.PassWord); 还有一种更好的办法,你不必去管它是什么类型,不用单引号。 单引号。其实如果你怕单双引号看混了,可以把这个 StrSql="select * from usersheet where loginname=@name and userpass=@pwd"; SqlCommand cmd=new SqlCommand(StrSql); cmd.Paraments.addwithvalue("@name",Login1.UserName); cmd.paraments.addwithvalue("@value",Login1.PassWord); 不知道paraments有没有拼错,就是参数的意思。
数字型的 用 “ + xxx + ”
看看是否有用
sp_help 表明
StrSql="select * from usersheet where loginname='"+Login1.UserName+"' and userpass='"+Login1.PassWord
+"'"
改成
StrSql=string.Format("select * from usersheet where loginname='{0}' and userpass='{1}'",Login1.UserName,Login1.PassWord);
还有一种更好的办法,你不必去管它是什么类型,不用单引号。
单引号。其实如果你怕单双引号看混了,可以把这个
StrSql="select * from usersheet where loginname=@name and userpass=@pwd";
SqlCommand cmd=new SqlCommand(StrSql);
cmd.Paraments.addwithvalue("@name",Login1.UserName);
cmd.paraments.addwithvalue("@value",Login1.PassWord);
不知道paraments有没有拼错,就是参数的意思。