vc 用ODBC API连接数据库,执行SQL语句插入的时候,INSERT语句的格式?

解决方案 »

  1.   

    "insert into tablename(colunm1....) values(xxx....)"
      

  2.   

    CDatabase * pDatabase = new CDatabase; TRY
    {
    pDatabase->OpenEx(_T("DSN=ODBCName;UID=***;PWD=***");
    }
    CATCH (CDBException, e)
    {
    delete pDatabase;
    return;
    }
    END_CATCH Sql.Format("insert into TableName(Field0, Field1...) values(***...)");
    pDatabase->ExecuteSQL(Sql); pDatabase->Close();
    delete pDatabase;
      

  3.   

    没有
    这样简单,用标准ODBC API连接数据库,SQL 语句格式?
     像这样的SQLCHAR   stmt1[200] = "INSERT INTO abc (a) VALUES (11)";
    SQLCHAR   stmt1[200] = "INSERT INTO abb VALUES (33,12)可以运行
    但是多种类型的就不行了
    返回42000语法错误
    多种类型的怎么写数据库是SQL SERVER 6。5
      

  4.   


       SQLCHAR szSQL[256];   wsprintf( szTmp, "INSERT INTO 表名(字段名) VALUES(值)" );
       strcpy( ( char * )szSQL, szTmp );
       retcode = SQLExecDirect(hstmt, szSQL, SQL_NTS);
      

  5.   

    "insert into tablename(colunm1....) values(xxx....)"
      

  6.   

    我这样调用:
    db.ExecuteSQL(LPCTSTR("insert into NEWBUSY (cargoID,cargoNAME,ownerID,ownerNAME,stockroomID,cargoCUBAGE,priseperday,beginDATE) values(34,fi,53,sd,34,54,23,03-8-28);"));
    得到的错误信息是:
    不能使用列名,要使用什么变量什么什么的。
      

  7.   

    SQLCHAR   stmt1[200];
    sprint(stmt1,"Insert Into abc(a,b,c,d)Values(%d,'%s',%ld,'%s')",11,"abc",99999,"efg");
      

  8.   

    赫赫,具体不同的数据库,格式不同的,以上各位主要适用于access,sqlserver
    oracle则对于blob,langraw等字段先要插入一个NULL,然后用更新记录的语句更该的
      

  9.   

    SQLCHAR   stmt1[200];
    sprint(stmt1,"Insert Into abc([a],[b],[c],[d]) Values(%d,'%s',%ld,'%s')",11,"abc",99999,"efg");列名用 [ ] 括起来