ODBC insert语句prepare后要怎么执行

SQLCHAR sqlInsertCla1[100] = "insert class(spno,class_no) values('s01', 'rg1')";
SQLCHAR sqlInsertCla2[100] = "insert class(spno,class_no) values('s02', 'jk1')";
result = SQLPrepare(hStmt, sqlInsertCla1, SQL_NTS);

    //result = SQLPrepare(hStmt, sqlInsertDe2, SQL_NTS);

    if ((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO))
    {
        SQLFreeHandle(SQL_HANDLE_STMT, hStmt);
        SQLFreeHandle(SQL_HANDLE_DBC, hDbc);
        SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
        printf("绑定失败!");
        getchar();
        exit(0);
    }
    // 执行SQL语句
        SQLExecute(hStmt);
    if (result == SQL_ERROR)
    {
        SQLFreeHandle(SQL_HANDLE_STMT, hStmt);
        SQLFreeHandle(SQL_HANDLE_DBC, hDbc);
        SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
        printf("执行sql失败!");
        getchar();
        exit(0);
    }
    // 执行完sql语句之后,要读取数据
    /*
    while ((result = SQLFetch(hStmt)) != SQL_NO_DATA)
        cout << szName << endl;
        */
        // 释放句柄和断开连接
    SQLFreeHandle(SQL_HANDLE_STMT, hStmt);
    SQLDisconnect(hDbc);
    SQLFreeHandle(SQL_HANDLE_DBC, hDbc);
    SQLFreeHandle(SQL_HANDLE_ENV, hEnv);

    怎么会显示执行SQL失败,在SQL server也看不见插入的信息

https://zhidao.baidu.com/question/626064936691226284.html