好儿郎-志在四方 2015-07-04 02:47 采纳率: 100%
浏览 1730
已采纳

MFC中 SQL语句格式的的问题

(1)下面是程序中的SQL语句:
mSqlStr = "INSERT INTO BORROW (READER_ID, BOOK_ID, BORROW_DATE, B_CLERK_ID) VALUES('";
// mSqlStr = "INSERT INTO BORROW (READER_ID, BOOK_ID, B_CLERK_ID) VALUES('";
mSqlStr = mSqlStr + m_strReaderID;
mSqlStr = mSqlStr + "','";
mSqlStr = mSqlStr + m_strBookID;
mSqlStr = mSqlStr + "','";
mSqlStr = mSqlStr + "', m_BORROW_DATE,'"; //获取系统时间SYSDATE
mSqlStr = mSqlStr + "','";
mSqlStr = mSqlStr + m_strUserID;
mSqlStr = mSqlStr + "')";
图片说明
(2)下面是数据库中对应表的结构:
图片说明

(3)下面是程序运行时编译器的错误提示:
![图片说明](https://img-ask.csdn.net/upload/201507/04/1435978126_183775.png)

(4)谢谢大家了,帮帮忙吧,我是初学者,MFC里面SQL语句搞复杂了就看不懂,简单的还是懂,一复杂看起来就眼睛花了
  • 写回答

6条回答 默认 最新

  • danielinbiti 2015-07-04 04:29
    关注
     mSqlStr = mSqlStr + "','";
    mSqlStr = mSqlStr + "', m_BORROW_DATE,'"; //获取系统时间SYSDATE
    mSqlStr = mSqlStr + "','";
    
    这几行多了单引号,上面拼接出来是"','',m_BORROW_DATE'','";这个格式不对,有两个单引号,而且m_BORROW_DATE成字符串了,不是变量
    改成
     mSqlStr = mSqlStr + "','";
    mSqlStr = mSqlStr +  m_BORROW_DATE; //获取系统时间SYSDATE
    mSqlStr = mSqlStr + "','";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?