首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

ACCESS和VC中数据类型的有关问题

2012-01-26 
ACCESS和VC中数据类型的问题刚接触数据库,想问一下ACCESS中文本类型与VC中什么数据类型对应阿?我有这样一

ACCESS和VC中数据类型的问题
刚接触数据库,想问一下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是已经创建好的,不知道是不是这些参数的类型有问题,请各位帮忙一下,先谢了。

[解决办法]

你的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语句应该遵循数据库的语法标准。

热点排行