select * from 表名 where 条件,“条件”的格式解决方案
select * from 表名 where 条件,“条件”的格式
本帖最后由 lovegame3 于 2012-11-12 08:50:36 编辑 如题,我用C++连接Access数据库,数据库连接成功,但在某个表里选择的时候,总是提示“至少一个参数没有被指定值”。条件中什么时候使用双引号“”,什么时候使用单引号''?我的sql句子是
------最佳解决方案--------------------
不能使用双引号!!
------其他解决方案--------------------
select * from 餐饮管理 where 菜单=“+鱼香肉丝+”;
改成:
select * from 餐饮管理 where 菜单='鱼香肉丝';
字符型加单引号,日期型加#号,数字型不加任何符号,比如日期型:
CString str;
str="select * from 餐饮管理 where 日期=#2012-11-12#";
------其他解决方案--------------------
那是你得重新生成一个数据源的驱动了(如果你用DSN来做数据源),也就是数据源里的数据库及表名加上字段都得一致才行,不能只改一个,其它的不改
------其他解决方案--------------------
数据库名改成英文名,不要用中文
------其他解决方案--------------------
VC Ado调用Execute 时IDispatch error #3119http://blog.const.net.cn/a/1479.htm
VC ADO数据库编程入门http://blog.const.net.cn/a/5638.htm
vc中ado操作时提示类型不匹配错误解决办法http://blog.const.net.cn/a/15669.htm
------其他解决方案--------------------
很详细,谢谢,可现在的问题弹出窗口说:Microsoft Access数据库引擎找不到输入表或查询“abcd”…………我把餐饮管理表名改成abcd调试了…………
------其他解决方案--------------------
嗯,本人菜鸟一枚。谢谢。可新的问题,弹出窗口说:Microsoft Access数据库引擎找不到输入表或查询“abcd”…………我把餐饮管理表名改成abcd调试了…………
------其他解决方案--------------------
可是我是用ado连接程序文件夹下的access数据库,代码如下
------其他解决方案--------------------
用中文没问题啊…………
------其他解决方案--------------------
改正sql语句之后发现问题还是存在,自己检查后发现是别的地方的问题,感兴趣的朋友可以看看我最近发的、关于下拉列表控件与列表框响应的帖子。问题解决,结贴给分。吃一堑,长一智。编程要小心再小心。
本帖最后由 lovegame3 于 2012-11-12 08:50:36 编辑 如题,我用C++连接Access数据库,数据库连接成功,但在某个表里选择的时候,总是提示“至少一个参数没有被指定值”。条件中什么时候使用双引号“”,什么时候使用单引号''?我的sql句子是
select * from 餐饮管理 where 菜单=“+鱼香肉丝+”;求高手指点啊!!
------最佳解决方案--------------------
不能使用双引号!!
------其他解决方案--------------------
select * from 餐饮管理 where 菜单=“+鱼香肉丝+”;
改成:
select * from 餐饮管理 where 菜单='鱼香肉丝';
字符型加单引号,日期型加#号,数字型不加任何符号,比如日期型:
CString str;
str="select * from 餐饮管理 where 日期=#2012-11-12#";
------其他解决方案--------------------
那是你得重新生成一个数据源的驱动了(如果你用DSN来做数据源),也就是数据源里的数据库及表名加上字段都得一致才行,不能只改一个,其它的不改
------其他解决方案--------------------
数据库名改成英文名,不要用中文
------其他解决方案--------------------
VC Ado调用Execute 时IDispatch error #3119http://blog.const.net.cn/a/1479.htm
VC ADO数据库编程入门http://blog.const.net.cn/a/5638.htm
vc中ado操作时提示类型不匹配错误解决办法http://blog.const.net.cn/a/15669.htm
------其他解决方案--------------------
很详细,谢谢,可现在的问题弹出窗口说:Microsoft Access数据库引擎找不到输入表或查询“abcd”…………我把餐饮管理表名改成abcd调试了…………
------其他解决方案--------------------
嗯,本人菜鸟一枚。谢谢。可新的问题,弹出窗口说:Microsoft Access数据库引擎找不到输入表或查询“abcd”…………我把餐饮管理表名改成abcd调试了…………
------其他解决方案--------------------
可是我是用ado连接程序文件夹下的access数据库,代码如下
AfxOleInit();
CString appPath;
GetModuleFileName(NULL,appPath.GetBufferSetLength(255+1),255);
appPath.ReleaseBuffer();
int len = appPath.ReverseFind('\\') + 1;
CString sysPath = appPath.Left(len);
HRESULT hr;
m_ConnState=FALSE;
try
{
hr=m_pCon.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
CString dbPath="Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+sysPath+"餐饮.accdb";
hr=m_pCon->Open(_bstr_t(dbPath),"","",adModeUnknown);
if(SUCCEEDED(hr))
m_ConnState=TRUE;
}
}
catch(_com_error e)
{
CString errorMessage;
errorMessage.Format("连接数据库错误\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errorMessage);
}
------其他解决方案--------------------
用中文没问题啊…………
------其他解决方案--------------------
改正sql语句之后发现问题还是存在,自己检查后发现是别的地方的问题,感兴趣的朋友可以看看我最近发的、关于下拉列表控件与列表框响应的帖子。问题解决,结贴给分。吃一堑,长一智。编程要小心再小心。