1
m_user  = "admin " m_passWord = "admin"
string strSQL;
strSQL="select * from userinfo where username=\'" + m_user +"\' and userpass=\'" + m_passWord +"\'";z这里 m_user 都是字符串 型 为什么 要加个 单引号 2
假设 表中有个字段stock 为数字型 
m_i = 15strSQL="select * from userinfo where stock= m_i";  这样可以么 

解决方案 »

  1.   

    加不加单引号 得要看你数据库里面是什么类型  字符型的  时间型的等等就要加
    SQL语句你最好先拿到查询分析器里面执行一边  在copy出来   替换关键字段 不可以
    m_i现在是字符串..
      

  2.   

    我在VC2005中使用这类语句都是出错的,必须改成
    CString sql;
    sql.Format(_T("SELECT * FROM Login WHERE Uname='%s' and Upasswd='s'"),m_Uname,m_Upasswd);
    我也不明白
      

  3.   

    你查询的时候不是这样的嘛
    Select * from table where name='tr'看到单引号了吧?
      

  4.   

    1
    m_user  = "admin " m_passWord = "admin"
    string strSQL;
    strSQL="select * from userinfo where username=\'" + m_user +"\' and userpass=\'" + m_passWord +"\'";z这里 m_user 都是字符串 型 为什么 要加个 单引号 
    这是规定
    如果标志的类型是字符串类型的话需要单引号,时间类型需要‘#’号
    整型、浮点型的不需要单引号。

    2
    假设 表中有个字段stock 为数字型
    m_i = 15strSQL="select * from userinfo where stock= m_i";  这样可以么
    不可以,必须改为下面的样式
    strSQL.Format(_T("select * from userinfo where stock= [color=#000080]%d"),m_i);[/color]
      

  5.   

    [Quote=引用 4 楼 tttyd 的回复:]
    1
    m_user  = "admin " m_passWord = "admin"
    string strSQL;
    strSQL="select * from userinfo where username=\'" + m_user +"\' and userpass=\'" + m_passWord +"\'";z这里 m_user 都是字符串 型 为什么 要加个 单引号
    这是规定
    如果标志的类型是字符串类型的话需要单引号,时间类型需要‘#’号
    整型、浮点型的不需要单引号。
    2
    假设 表中有个字段stock 为数字型
    m_i = 15strSQL="select * from userinfo where stock= m_i";  这样可以么
    不可以,必须改为下面的样式
    strSQL.Format(_T("select * from userinfo where stock= %d"),m_i);
    [/Quote}
    谢谢 啦