diff --git a/demo/click.c b/demo/click.c new file mode 100644 index 0000000..6f5d95a --- /dev/null +++ b/demo/click.c @@ -0,0 +1,44 @@ +#include "tvm.h" +#include "tmain.h" + +#define TBL_USER_INFO 20 + +typedef struct __TBL_USER_INFO +{ + long acct_id; + char user_no[21]; + char user_type[2]; + char user_nm[81]; + char user_addr[161]; + char user_phone[31]; +}dbUser; + +int main(int argc, char *argv[]) +{ + dbUser stUser; + ulong uTime = 0; + SATvm *pstSavm = (SATvm *)pGetSATvm(); + + /* 初始化TBL_USER_INFO表,每张表都需要初始化一次, 对于表重建后,需要重新初始化一次。*/ + if(RC_SUCC != lInitSATvm(pstSavm, TBL_USER_INFO)) + { + fprintf(stderr, "init failed, err:(%d)(%s)\n", pstSavm->m_lErrno, + sGetTError(pstSavm->m_lErrno)); + return RC_FAIL; + } + + conditinit(pstSavm, stUser, TBL_USER_INFO); // 绑定变量 + stringset(pstSavm, stUser, user_type, "1"); // 查询条件赋值 + stringset(pstSavm, stUser, user_no, "20180223"); // 查询条件赋值 + + if(RC_SUCC != lClick(pstSavm, (void *)&uTime)) + { + fprintf(stderr, "Select error: (%d) (%s)\n", pstSavm->m_lErrno, + sGetTError(pstSavm->m_lErrno)); + return RC_FAIL; + } + + fprintf(stdout, "uTime:%ld\n", uTime); + + return RC_SUCC; +} diff --git a/demo/create_queue.c b/demo/create_queue.c new file mode 100644 index 0000000..5f9ff76 --- /dev/null +++ b/demo/create_queue.c @@ -0,0 +1,44 @@ +#include "tvm.h" +#include "tmain.h" + +#define QUEUE_USER_INFO 21 + +typedef struct __QUEUE_USER_INFO +{ + long acct_id; + char user_no[21]; + char user_type[2]; + char user_nm[81]; + char user_addr[161]; + char user_phone[31]; +}dbUser; + +CREATE lQueueUserInfo() +{ + QUEUE(QUEUE_USER_INFO, "", dbUser) + FIELD(dbUser, acct_id, FIELD_LONG) + FIELD(dbUser, user_no, FIELD_CHAR) + FIELD(dbUser, user_type, FIELD_CHAR) + FIELD(dbUser, user_nm, FIELD_CHAR) + FIELD(dbUser, user_addr, FIELD_CHAR) + FIELD(dbUser, user_phone, FIELD_CHAR) + + FINISH +} + +int main(int argc, char *argv[]) +{ + char szMsg[1024]; + SATvm *pstSavm = (SATvm *)pGetSATvm(); + +// if(RC_SUCC != lCreateQueue(pstSavm, QUEUE_USER_INFO, 1000000, sizeof(szMsg), "")) + if(RC_SUCC != lTableQueue(pstSavm, QUEUE_USER_INFO, 1000000, lQueueUserInfo)) + { + fprintf(stderr, "create queue %d failed, err: %s\n", QUEUE_USER_INFO, sGetTError(pstSavm->m_lErrno)); + return RC_FAIL; + } + + fprintf(stdout, "create table success\n"); + + return RC_SUCC; +} diff --git a/demo/create_table.c b/demo/create_table.c new file mode 100644 index 0000000..483b01b --- /dev/null +++ b/demo/create_table.c @@ -0,0 +1,52 @@ +#include "tvm.h" +#include "tmain.h" + +#define TBL_USER_INFO 20 + +typedef struct __TBL_USER_INFO +{ + long acct_id; + char user_no[21]; + char user_type[2]; + char user_nm[81]; + char user_addr[161]; + char user_phone[31]; +}dbUser; + +CREATE lCreateUserInfo() +{ + DEFINE(TBL_USER_INFO, "", dbUser) + FIELD(dbUser, acct_id, FIELD_LONG) + FIELD(dbUser, user_no, FIELD_CHAR) + FIELD(dbUser, user_type, FIELD_CHAR) + FIELD(dbUser, user_nm, FIELD_CHAR) + FIELD(dbUser, user_addr, FIELD_CHAR) + FIELD(dbUser, user_phone, FIELD_CHAR) + + CREATE_IDX(NORMAL) // 创建查询索引 + IDX_FIELD(dbUser, acct_id, FIELD_LONG) + + CREATE_IDX(UNQIUE) // 创建唯一索引 + IDX_FIELD(dbUser, user_no, FIELD_CHAR) + IDX_FIELD(dbUser, user_type, FIELD_CHAR) + + FINISH +} + +int main(int argc, char *argv[]) +{ + SATvm *pstSavm = (SATvm *)pGetSATvm(); + + if(RC_SUCC != lCreateTable(pstSavm, TBL_USER_INFO, 1000, lCreateUserInfo)) + { + fprintf(stderr, "create table %d failed, err: %s\n", TBL_USER_INFO, sGetTError(pstSavm->m_lErrno)); + return RC_FAIL; + } + + fprintf(stdout, "create table success\n"); + fflush(stderr); + + return RC_SUCC; +} + +