SELECT stu_num,stu_name,stu_style,stu_system,stu_class FROM student WHERE stu_num='+i+'";请问在sql查询语句中使用vc定义的变量是    '+变量+'  的形式么?
在运行后报错:在将varchar值'+i+'转换成数据类型int时失败、我定义的i是下面这样的: int i;
i=GetDlgItemInt(IDC_chaxun);
有没人帮我看看,指导指导,谢谢拉!

解决方案 »

  1.   


    CString strSql;
    strSql.Format("SELECT stu_num,stu_name,stu_style,stu_system,stu_class FROM student WHERE stu_num='%d'",i);
      

  2.   

    int i;
    i=GetDlgItemInt(IDC_chaxun);
    CString str;
    str.Format("%d",i);
    CString strSql = "SELECT stu_num,stu_name,stu_style,stu_system,stu_class FROM student WHERE stu_num='"+str+"'";
      

  3.   

    我这段代码要实现已i为条件查询数据库,怎么弄呢
    int i;
    i=GetDlgItemInt(IDC_chaxun);
    try
    {
    m_pRecordset.CreateInstance("ADODB.Recordset"); 
    CString strSql;
    _bstr_t strCmd="SELECT stu_num,stu_name,stu_style,stu_system,stu_class FROM student WHERE stu_num=i";

      m_pRecordset=m_pConnection->Execute(strCmd,&RecordsAffected,adCmdText);
        }
    catch(_com_error &e)
    {
    AfxMessageBox(e.Description());
    }

            _variant_t vstu_num,vstu_name,vstu_style,vstu_system,vstu_class;


    try
    {

    vstu_num=m_pRecordset->GetCollect(_variant_t((long)0));
        vstu_name=m_pRecordset->GetCollect("stu_name");
    vstu_style=m_pRecordset->GetCollect("stu_style");
    vstu_system=m_pRecordset->GetCollect("stu_system");
    vstu_class=m_pRecordset->GetCollect("stu_class");


    m_num=(long)(LPCTSTR)(_bstr_t)vstu_num;
    m_name=(LPCTSTR)(_bstr_t)vstu_name;
    m_style=(LPCTSTR)(_bstr_t)vstu_style;
    m_system=(LPCTSTR)(_bstr_t)vstu_system;
    m_class=(LPCTSTR)(_bstr_t)vstu_class; UpdateData(FALSE);
       
    }
    catch(_com_error &e)
    {
    AfxMessageBox(e.Description());
    } m_pRecordset->Close();
    m_pRecordset=NULL;
    m_pConnection->Close();
    m_pConnection=NULL;
    }