在VC中,我定了一个BYTE readbuffer[8],这个数组被赋值后我想插入数据库,我用_bstr_t vSQL;vSQL = "INSERT INTO Data(Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8)VALUES readbuffer[0],readbuffer[1],readbuffer[2],readbuffer[3],readbuffer[4],readbuffer[5],readbuffer[6],readbuffer[7])";m_AdoConn.ExecuteSQL(vSQL);m_AdoConn.ExitConnect();,但是不行,所以想请教大侠,正确的做法。

解决方案 »

  1.   

    报什么错误?是数据类型错误吗?
    BYTE readbuffer[8],是BYTE类型的;
    你数据库里的字段类型是这个吗?
      

  2.   

    在此上下文中不允许使用'readbuffer',只允许使用常量、表达式或变量。不允许使用列名。
      

  3.   

    你的sql语句中不能使用变量..readbuffer
    先用CString拼接你的变量CString str;
    str.Format("INSERT INTO Data(Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8)VALUES %d, %d, %d, %d, %d, %d, %d, %d", readbuffer[0],readbuffer[1],readbuffer[2],readbuffer[3],readbuffer[4],readbuffer[5],readbuffer[6],readbuffer[7]);再执行sql语句
      

  4.   

    3楼正确,VALUES后面还要加个括号 :)