需要把一组权值保存,必须用数组的形式。于是表的各列是w[1][1][1]...等
操作时需要用for语句循环,但下面的语句不行:
strSql.Format ("INSERT INTO wt(wt[%d][%d][%d]) VALUES(%f)",i,j,k,dwt);
//换成下面这句也不行
//strSql.Format ("INSERT INTO wt(wt[1][1][1]) VALUES(%f)",dwt);
//表中有一列wt1,下面这句可以
//strSql.Format ("INSERT INTO wt(wt1) VALUES(%f)",dwt);
bSql=(_bstr_t)strSql;
m_pConnection->Execute(bSql,&RecordsAffected,adCmdText);该怎么办呢?SQL Server语句该怎么改?
100分,请大家帮忙了

解决方案 »

  1.   

    列名是wt[1][1][1],wt[1][1][2],wt[1][1][3]等等
      

  2.   

    出的错误是“IDispatch Error #3127”
      

  3.   

    好好看ADO的帮助文件。ADO为了操作二进制的字段提供了Stream,你可以创建一个Stream对象来读写二进制字段。在添加记录到表的时候二进制字段必须用Stream来配合Recordset来操作,ado帮助里面有很完成例子。
      

  4.   

    我明白了,我的列名是w[1][1][1],可是SQL Server自动改成了[w[1]][1]][1]]]
    需要用
    ("INSERT INTO wt([w[1]][1]][1]]]) VALUES(%f)",dwt)
    ,这样就对了