strSQL.Format("select * from history where ID=%s",m_ctrList.GetItemText(i,0));和strSQL.Format("select * from history where ID='%s' ",m_ctrList.GetItemText(i,0));这2种情况在编译的时候都能够正常通过
可是运行时候,第一种情况是数据库“语法错误,在查询表达式 ‘ID='中”第二种情况是“标准表达式中数据类型不匹配”这我就郁闷了,应该第二种写法是正确的阿,也都是CString类型,怎么不匹配呢? 第一种语法 上不对,怎么通过编译的呢?

解决方案 »

  1.   

    你的ID是INT的吧,
    打印出SQL语句看看,是不是 getitemtext结果不是数字另外,SQL语法通不通过 不关C++编译器的事情
      

  2.   

    是阿,ID是int 的
    请教怎么打印出SQL语句呢?
    debug下面的一个卡片sql debug是做什么用的?
      

  3.   

    还有个问题怎么通过点击tab conrol上面的卡片,让它切换到不同的卡片呢
    就是TCN_SELCHANGE    TCN_SELCHANGING 事件,msdn上讲的太不清楚了
      

  4.   

    MessageBox或者TRACE 或者加断点调试都可以看到
    点击TAB切换的,需要响应TCN_SELCHANGE,把对应的控件显示出来,你可以参考使用
    http://www.codeproject.com/tabctrl/cxtabcontrol.asp