diff --git a/src/client/src/tscPrepare.c b/src/client/src/tscPrepare.c index 0068b23334c895d2ccb1b37aeda0712e8b29d9c9..1a76bd5e6193acd19e51507a53812215ace16df4 100644 --- a/src/client/src/tscPrepare.c +++ b/src/client/src/tscPrepare.c @@ -614,11 +614,8 @@ int taos_stmt_execute(TAOS_STMT* stmt) { tfree(pStmt->pSql->sqlstr); pStmt->pSql->sqlstr = sql; SSqlObj* pSql = taos_query((TAOS*)pStmt->taos, pStmt->pSql->sqlstr); - if (pSql != NULL) { - ret = pSql->res.code; - } else { - ret = terrno; - } + ret = taos_errno(pSql); + taos_free_result(pSql); } } return ret; diff --git a/tests/examples/c/prepare.c b/tests/examples/c/prepare.c index cb45e8620d126ee280aeea586baeab01cd0dccc4..3b968aca07bcc71721a5a34772ecac8b039a6841 100644 --- a/tests/examples/c/prepare.c +++ b/tests/examples/c/prepare.c @@ -4,7 +4,6 @@ #include #include #include - #include "taos.h" @@ -14,6 +13,7 @@ int main(int argc, char *argv[]) { TAOS *taos; TAOS_RES *result; + int code; TAOS_STMT *stmt; // connect to server @@ -29,23 +29,33 @@ int main(int argc, char *argv[]) if (taos == NULL) { printf("failed to connect to db, reason:%s\n", taos_errstr(taos)); exit(1); - } + } + + result = taos_query(taos, "drop database demo"); + taos_free_result(result); - taos_query(taos, "drop database demo"); - if (taos_query(taos, "create database demo") != 0) { - printf("failed to create database, reason:%s\n", taos_errstr(taos)); + result = taos_query(taos, "create database demo"); + code = taos_errno(result); + if (code != 0) { + printf("failed to create database, reason:%s\n", taos_errstr(result)); + taos_free_result(result); exit(1); } + taos_free_result(result); - taos_query(taos, "use demo"); - + result = taos_query(taos, "use demo"); + taos_free_result(result); // create table const char* sql = "create table m1 (ts timestamp, b bool, v1 tinyint, v2 smallint, v4 int, v8 bigint, f4 float, f8 double, bin binary(40), blob nchar(10))"; - if (taos_query(taos, sql) != 0) { - printf("failed to create table, reason:%s\n", taos_errstr(taos)); + result = taos_query(taos, sql); + code = taos_errno(result); + if (code != 0) { + printf("failed to create table, reason:%s\n", taos_errstr(result)); + taos_free_result(result); exit(1); } + taos_free_result(result); // sleep for one second to make sure table is created on data node // taosMsleep(1000); @@ -130,7 +140,7 @@ int main(int argc, char *argv[]) int is_null = 1; sql = "insert into m1 values(?,?,?,?,?,?,?,?,?,?)"; - int code = taos_stmt_prepare(stmt, sql, 0); + code = taos_stmt_prepare(stmt, sql, 0); if (code != 0){ printf("failed to execute taos_stmt_prepare. code:0x%x\n", code); } @@ -159,7 +169,6 @@ int main(int argc, char *argv[]) exit(1); } taos_stmt_close(stmt); - printf("==== success inset data ====.\n"); // query the records stmt = taos_stmt_init(taos);