设为首页 加入收藏

TOP

linuxCsqlite3mysql(二)
2015-11-21 01:42:36 来源: 作者: 【 】 浏览:10
Tags:linuxCsqlite3mysql
sqlDB->type == SQL_SQLITE3) { gseMutexLock(&dbMutex); sqlDB->db = (sqlite3 *)sqlDB->db; ret = sqlite3_close(sqlDB->db); gseMutexUnlock(&dbMutex); } else if(sqlDB->type == SQL_MYSQL) { #ifdef MYSQL_DEFINE sqlDB->db = (MYSQL *)sqlDB->db; mysql_close(sqlDB->db); #endif } else { return -2; } // gseLog(L_INFO, "Close database"); return ret; } int DBCreate(dbClass *sqlDB, const char *tableName, char *creatValueStr) { if(sqlDB == NULL || tableName == NULL || creatValueStr == NULL || NULL == sqlDB->db || 0 == strlen(creatValueStr)) { gseLog(L_ERROR,"*db is NULL"); return -1; } char *errmsg = 0; int ret = 0; char createString[MAX_SQLSTR]={0}; if(strlen(creatValueStr) >= 1) creatValueStr[strlen(creatValueStr) - 1]='\0'; sprintf(createString, "create table %s(%s)", tableName,creatValueStr); //create table tb_cardId(cardID KEY, cardNum INT, endDate INT, password NVARCHAR(8)) memset(creatValueStr, 0, strlen(creatValueStr)); if(sqlDB->type == SQL_SQLITE3) { gseMutexLock(&dbMutex); sqlDB->db = (sqlite3 *)sqlDB->db; ret = sqlite3_exec(sqlDB->db,createString,NULL,NULL,&errmsg); if(ret != SQLITE_OK) { gseLog(L_ERROR,"ret = %d, create table fail: %s", ret, errmsg); } else gseLog(L_INFO, "create table %s success.", tableName); sqlite3_free(errmsg); gseMutexUnlock(&dbMutex); } else if(sqlDB->type == SQL_MYSQL) { #ifdef MYSQL_DEFINE sqlDB->db = (MYSQL *)sqlDB->db; ret = mysql_query(sqlDB->db, createString); if (ret) { gseLog(L_ERROR,"sqlCreate Error %u: %s", mysql_errno(sqlDB->db), mysql_error(sqlDB->db)); } #endif } else { return -2; } return ret; } int DBInsert(dbClass *sqlDB, const char *tableName, char *valuesString) { if(sqlDB == NULL || tableName == NULL || valuesString == NULL || NULL == sqlDB->db || 0 == strlen(valuesString)) { gseLog(L_ERROR,"*db is NULL"); return -1; } char *errmsg = 0; int ret = 0; char sqlInsetTable[MAX_SQLSTR]={0}; if(strlen(valuesString) >= 1) valuesString[strlen(valuesString)-1]='\0'; sprintf(sqlInsetTable, "insert into %s values(%s)",tableName,valuesString); //insert into tb_cardId values(1,124343223,20130101,'12345678'); memset(valuesString, 0, strlen(valuesString)); if(sqlDB->type == SQL_SQLITE3) { gseMutexLock(&dbMutex); sqlDB->db = (sqlite3 *)sqlDB->db; ret = sqlite3_exec(sqlDB->db,sqlInsetTable,NULL,NULL,&errmsg); if(ret != SQLITE_OK) { gseLog(L_ERROR, "%s",sqlInsetTable); gseLog(L_ERROR,"ret = %d, inset table fail: %s",ret,errmsg); } sqlite3_free(errmsg); gseMutexUnlock(&dbMutex); } else if(sqlDB->type == SQL_MYSQL) { #ifdef MYSQL_DEFINE sqlDB->db = (MYSQL *)sqlDB->db; ret = mysql_query(sqlDB->db, sqlInsetTable); if (ret) { gseLog(L_ERROR,"sqlInsert Error 4 %u: %s", mysql_errno(sqlDB->db), mysql_error(sqlDB->db)); } #endif } else { ret = -2; } if(1 == IsUpdateAll && 0 != ret) { rollBack(sqlDB); return ret; } return ret; } int DBUpdate(dbClass *sqlDB, const char *tableName, char *updateSetStr, char *updateWhereStr) { if(sqlDB == NULL || tableName == NULL || updateSetStr == NULL || updateWhereStr == NULL) { gseLog(L_ERROR,"*db is NULL"); return -1; } if(strlen(updateSetStr) >= 1) updateSetStr[strlen(updateSetStr)
首页 上一页 1 2 3 4 5 6 下一页 尾页 2/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇修改mysql 表的字符编码 下一篇PostgreSQL与MySQL比较

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: