收录日期:2020/06/02 19:53:30 时间:2016/06/12 02:12:01 标签:数据库
VC ADO ACCESS,写了一个往表里添加记录的语句,运行失败,断点跟踪到最后的执行字符串,拷贝到ACCESS的查询里,却能运行成功。原来同样方式写的一个较短的语句却两边都能运行成功。迷惑得很。


     代码:
     try
{
_variant_t ra;

_bstr_t strSql = "INSERT INTO client(msgdate,log,dest,user,status ) VALUES ('";
strSql += _bstr_t(SystemTime);
strSql += "','";
strSql += _bstr_t(strInfo);
strSql += "','";
strSql += _bstr_t(m_ip);
strSql += "','";
strSql += _bstr_t(UserName);
strSql += "','";
strSql += _bstr_t(strStatus);
strSql += "')";

        
       /*
_bstr_t strSql = "INSERT INTO client( msgdate,log ) VALUES ('";
strSql += _bstr_t(SystemTime);
strSql += "','";
strSql += _bstr_t(strInfo);
strSql += "')";*/



         m_pConnection->Execute(strSql, &ra, adCmdText);
        }

VC里跟踪得到的strSql的结果:

前者  INSERT INTO client( msgdate,log,dest,user,status ) VALUES ('2007年7月31日 10:32','dddddd','127.0.0.1','administrator','成功')   //VC里运行失败,ACCESS里成功

后者(注释里的代码)  INSERT INTO client( msgdate,log ) VALUES ('2007年7月31日 10:54','dddddd')   //两处都能成功
看来是'成功'附件有错误
你先把字符串打印出来看看语法是否错误,或你直接用CString或sprintf来格式化sql语句更方便点
断点跟踪和使用trace都得到了字符串,比较奇怪的是,我把这个字符串原样拷到ACCESS的查询里,就可以运行成功。唉,本来用SQL2000都写完了,头又叫改成ACCESS,痛苦。
解决了,貌似user是关键字,改动一下就好了。程序里面执行字符串会出错,直接在ACCESS里执行却没事,真是奇怪。
如果是关键字就加个[]括号,例如

update tb set [user]='admin' where id=1
我以前已遇到过这样的问题
INSERT INTO client( msgdate,log,dest,[user],status ) VALUES ('2007年7月31日10:32','dddddd','127.0.0.1','administrator','成功')
//Access对关键字的处理可能和T-SQL有所不同?
嗯,ACCESS中的关键字真TMD多,我曾经被 CURRENT 搞了一个下午。

求教 请大家帮忙解决剩余天数asp代码 请问用Adobe Printer 打印Word 2010文档,TextBox为什么打印不出来? ASIO回调函数的疑问 关于ajax 接收xml乱码问题? 反汇编+逆向工程问题 大一软件设计专业学生对就业的疑问 CPU 卡的认证 大家帮我看看这个程序如何? 为什么我在使用Linux桌面 书稿《C++释难解惑》(C++130个问题)已上传到CSDN,欢迎下载 oracle 10g 2r安装到13%停了. QT地址薄的问题 关于高电平时钟周期 求助:centos5.7 下面 automake autoconf 怎么升级 问一个多线程情况下的数据库操作是否需要线程lock的问题 为数据分配新的数据文件,报错 \'PRIMARY\' 文件组已满,高分求助 sql语句 怎么用C# 读取一个图片所在的路径 上海百舜信息公司怎么样? swing怎么画三角形 怎样控制手机浏览器缩放网页?急(包括UC浏览器) 高手进,c++怎样获取webbrowser内,当前鼠标点击元素的html代码 BUG一枚 VC2010不会用,求指教 求大神!!C语言数据结构凹入表示法打印二叉树 纽约飓风背后的大数据 [转] regex分割的小问题 求解求解!!请问 该程序显示无错误,为什么无论输入a>b还是b>a输出结果均为A>B?? 急!!!在线等啊!!!ListView跳转问题!!!