最近写代码的时候,用sql语句老是出错,如何理解sql语句的单引号和双引号?什么时候用,什么时候不能用? 如下面的句子。 请高手指点。StrSql="select * from usersheet where loginname='"+Login1.UserName+"' and userpass='"+Login1.PassWord 
+"'" 

解决方案 »

  1.   

    根据数据库字段类型进行的'"+Login1.UserName+"'是STRING类型,"+Login1.UserId+"是int类型
      

  2.   

    字符型的 用 ‘“ + xxx + ”’
    数字型的 用 “ + xxx + ”
      

  3.   

    http://hi.baidu.com/trip008/blog/item/8e781101ec6ebb0b7bec2c8c.html
    看看是否有用
      

  4.   

    可一根据数据库里的类型判断啊 
    sp_help 表明
      

  5.   

    在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有没有拼错,就是参数的意思。