可以用SELECT试一下,看能否读到.

解决方案 »

  1.   

    我想在程序中得到这样的信息。我觉得这应该很容易的,只不过我手头没有MSDN,请各位大虾指点!
      

  2.   

    利用try语句,然后catch一下不就可以了,如果catch不到错误,当然是写成功了!:)
      

  3.   

    如果insert的语法正确,但是逻辑条件不满足,那怎么办?
      

  4.   

    用SQLError怎样得知执行insert语句的返回结果?
      

  5.   

    SQLHSTMT      hstmt;
    SQLRETURN   retcode;
    TCHAR szSQL[] = "INSERT INTO ...";
    retcode = SQLExecDirect(hstmt,szSQL ,SQL_NTS);
    if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
        //success
        ...
    } else {
        SQLGetDiagRec(...);
    }
      

  6.   

    to dyw(旺仔):
    如果我的insert语句这样写:
    insert into table1(column1,column2,column3,column4)
    values(select table2.column1,table3.column2,value3,value4 from table2,table3 where table2.column3=table3.column3);
    这样的话,如果语句
    select table2.column1,table3.column2,value3,value4 from table2,table3 where table2.column3=table3.column3
    没有得到符合条件的记录的话,那么前面的insert语句将不会插入任何记录。但是因为它的语法是正确的,SQLExecDirect仍然返回SQL_SUCCESS或者SQL_SUCCESS_WITH_INFO,我的目的是当出现这种情况时,我在程序中能够判断出这样的情况。
    不知道我说清楚了没有?
      

  7.   

    先对符合条件的记录做一个计数:
    int iCount;
    select count(table2.column1
    into :iCount,table3.column2,value3,value4 from table2,table3 where table2.column3=table3.column3;
    if (iCount>0 )
    insert into table1(column1,column2,column3,column4)
    values(select table2.column1,table3.column2,value3,value4 from table2,table3 where table2.column3=table3.column3);
    else
    {消息提示:没有得到符合条件的记录!}
    很久没做过数据库编程了,不知语法有没有错!