有一个数组int a[3],有一个表test有三个字段(a,b,c)每个都是整形的,现要写一个_bstr_t把数据里的值插入到表里去,
_bstr_t str("insert into test (a,b,c) valuse"..........
下面怎么写呀?

解决方案 »

  1.   

    CString m_szStr;
    m_szStr.Format(_T("insert into test (a,b,c) valuse(\'%s\',\'%s\',\'%s\')),str1,str2,str3);
    _bstr_t bstr((LPCTSTR)m_szStr);
      

  2.   

    我的程序是在win32Console程序里的,所以没有CString,
      

  3.   

    char sz[1024];
    _snprintf(sz,_T("insert into test (a,b,c) valuse(\'%s\',\'%s\',\'%s\')),1023,str1,str2,str3);
    _bstr_t bstr(sz);
      

  4.   

    #include <afx.h> //可以用CString了
      

  5.   

    我的程序是win32Console程序,
    我写了 #include <afx.h>     
    CString m_szStr;
    int a[2] = {88,888};
    m_szStr.Format(_T("insert into test (a,b) values(%d,%d)),a[0],a[1]);
        _bstr_t bstr((LPCTSTR)m_szStr);
    可是程序报错了:fatal error C1189: #error :  WINDOWS.H already included.  MFC apps must not #include <windows.h>
      

  6.   

    如果是控制台的话
    int a[2] = {88,888};
    char sz[1024];
    _snprintf(sz, 1023 ,_T("insert into test (a,b) values(%d,%d)),a[0],a[1]);
    _bstr_t bstr(sz);
      

  7.   

    谢谢akiryab了,我用的是
    int a[2] = {88,888};
    char sz[1024];
    _snprintf(sz, 1023 ,("insert into test (a,b) values(%d,%d)),a[0],a[1]);
    _bstr_t bstr(sz);
    把_T去掉了,就可以了,也不知道是为什么??
      

  8.   

    _T定义如下
    #ifdef _UNICODE
    #define _T(x) L##x
    #else
    #define _T(x) x
    #endif该结贴了吧