刚接触数据库,想问一下ACCESS中文本类型与VC中什么数据类型对应阿?
我有这样一个查询语句:
CString  sqlsearch="SELECT Teacher,Class,Course FROM jiaoshi WHERE Jiaoxuelou=m_Building_Num AND Roomnumber=m_Room_Num AND Weeknumber=m_Week_Num AND Xingqi=m_Xingqiji AND Dijijieke=m_Class_Num";
                                                                          m_pRecordset= m_pConnection->Execute(_bstr_t(sqlsearch),&RecordsAffected,adCmdText);
执行时老是提示说至少缺少一个参数
在这里,m_Building_Num ,m_Xingqiji ,m_Class_Num是CSting 类型
m_Room_Num ,m_Week_Num 使int型
在ACCESS中,Jiaoxuelou,Xingqi,Dijijieke是文本类型
Roomnumber,Weeknumber是数字类型ACCESS是已经创建好的,不知道是不是这些参数的类型有问题,请各位帮忙一下,先谢了。

解决方案 »

  1.   


    你的SQL语句出问题了。你没有把程序中的变量放到SQL语句中,这样写只是把变量名字作为字符串放到了SQL语句中。这里可以用 CString 类的函数 Format() ,把变量中的内容放入到SQL语句中。举个例子:// SQL 语句如下,注意这里的 user_id 为整形SELECT user_name , user_age FROM usertable WHERE user_id = 100// 程序如下
    int nID = 100;
    CString strSQL;
    strSQL.Format("SELECT user_name , user_age FROM usertable WHERE user_id = %d",nID);/////////////////////////////////////////////////// SQL 语句如下,注意这里的 user_id 为字符型SELECT user_name , user_age FROM usertable WHERE user_id = '100'// 程序如下
    CString strID = "100";
    CString strSQL;
    strSQL.Format("SELECT user_name , user_age FROM usertable WHERE user_id = '%s'",strID);注意:%s 前后有一对单引号。SQL语句应该遵循数据库的语法标准。
      

  2.   

    原来是这样啊,我也一直觉得好像变量并没有传到SQL中,就是不明白,现在弄清楚了,这是谢谢了