/************************************************************************************** Function: init_database() Description: 初始化数据库 Input: Output: Return: 0:成功,-1打开数据库失败 ,-2建数据库表失败 Others: ***************************************************************************************/ int init_database() { int result; //sqlite3 * db; int ret = 0; //创建一表,表名叫video_conf //const char *create_table_sql="create table if not exists video_conf(id int primary key,ipaddr varchar(60),rtspport varchar(20), httpport varchar(20),name varchar(50),password varchar(50),aliases nvarchar(100),indexid varchar(10),roomid varchar(10),ipc_status varchar(10)),DomainName nvarchar(100),SerialNumber nvarchar(100)"; const char *create_table_sql="create table if not exists video_conf(id int primary key,ipaddr varchar(60),rtspport varchar(20),\ httpport varchar(20),name varchar(50),password varchar(50),aliases nvarchar(100),indexid varchar(10),roomid varchar(10),ipc_status varchar(10),\ DomainName nvarchar(100),SerialNumber nvarchar(100))"; char* errmsg=NULL; //result=sqlite3_open("video_conf.db",&db); result=sqlite3_open(ipc_conf_database,&db); if(result !=SQLITE_OK) { //数据库打开失败 //printf("open sqlite db faile\r\n"); printf("<p>addipc open sqlite db faile</p>"); ret = -1; } //建表 result = sqlite3_exec(db,create_table_sql, NULL, NULL, &errmsg); if(result != SQLITE_OK ) { //printf("error:%d,reasion:%s\n",result,errmsg); printf("<p>error%d,reasion:%s</p>",result,errmsg); ret = -2; } sqlite3_free(errmsg); return ret; }
int create_db_objects(void){ static char *isTableExist; isTableExist = (char *)malloc(sizeof(char)*16); char *query = NULL; sqlite3 *db; sqlite3_open("/etc/sysconfig/pdb/rewind.db",&db); query = (char *)malloc(sizeof(char)*4096); memset(query,0,sizeof(char)*4096); strncpy(query,"SELECT COUNT(*) FROM sqlite_master where type='table' and name='rewind'",sizeof(char)*4095); sqlite3_exec(db,query,chk_table_exists_callback,isTableExist,NULL); if(strcmp(isTableExist,"0") == 0){ memset(query,0,sizeof(char)*4096); strncpy(query," \ CREATE TABLE rewind ( \ path varchar(256) NOT NULL PRIMARY KEY, \ mtime varchar(256) NOT NULL \ )",sizeof(char)*4095); sqlite3_exec(db,query,NULL,NULL,NULL); }
u4 createAOSTables(ADatabase& db, AString& error) { AResultSet rs; AString query( "CREATE TABLE `global` (\ `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,\ `name` varchar(45) NOT NULL default '',\ `value` varchar(1024) NOT NULL default ''\ );"); return db.executeSQL(query, rs, error); }
/* Create TABLE with hostname categories on BDD */ int crv_mysql_create_host_table_cat(MYSQL *sql, const char *host) { string_t *str; string_t *esc; str = string_new(); esc = string_new(); string_ajout(str, "CREATE TABLE IF NOT EXISTS `crv_"); string_my_escape(sql, esc, host); string_ajout(str, esc->str); string_ajout(str, "_cat`(`sha1` varchar(40) NOT NULL DEFAULT '',\ `cat` varchar(128) NOT NULL,\ PRIMARY KEY (`sha1`)\ )"); if (0 != mysql_query(sql, (const char *)str->str)) { fprintf(stderr, "Echec: '%s' %s\n", str->str, mysql_error(sql)); mysql_close(sql); exit(EXIT_FAILURE); } string_free(str); string_free(esc); return 0; }
int sql_creat_db(MYSQL *conn) { int ret; ret = mysql_query(conn, "create database goods"); if (ret != 0) { printf("fail to create database\n"); return ret; } ret = mysql_select_db(conn, "goods"); if (ret != 0) { printf("fail to select database: %s\n", mysql_error(conn)); return ret; } ret = mysql_query(conn, "create table list (name varchar(40), sell_price int unsigned, \ origin_price int unsigned, code varchar(56), ad varchar(60))"); if (ret != 0) { printf("fail to create table: %s\n", mysql_error(conn)); } ret = mysql_query(conn, "alter table list add unique (name)"); return ret; }
/* Create TABLE with hostname on BDD */ int crv_mysql_create_host_table(MYSQL *sql, const char *host) { string_t *str; string_t *esc; str = string_new(); esc = string_new(); string_ajout(str, "CREATE TABLE IF NOT EXISTS `crv_"); string_my_escape(sql, esc, host); string_ajout(str, esc->str); string_ajout(str, "`(`id` int(11) NOT NULL AUTO_INCREMENT,\ `sha1` varchar(40) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,\ `size` int(11) NOT NULL,\ `name` TEXT,\ `date_file` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\ PRIMARY KEY (`id`),\ UNIQUE KEY `sha1` (`sha1`)\ )"); if (0 != mysql_query(sql, (const char *)str->str)) { fprintf(stderr, "Echec: '%s' %s\n", str->str, mysql_error(sql)); mysql_close(sql); exit(EXIT_FAILURE); } string_free(str); string_free(esc); return 0; }
void CUpdateDBThread::DoUpdateDB() { CString strSQL; //如果表不存在则创建 // 2011/07/15-8201-gxx: 本地消费表,保存本地用户结账后的信息 if (!TableExists(_T("LocalConsume"))) { IBA_LOG0(_T("create table LocalConsume")); strSQL.Empty(); strSQL = _T("CREATE TABLE `LocalConsume` (\ `submitTime` datetime NOT NULL,\ `netBarId` smallint(6) NOT NULL default '0',\ `refNo` int(11) NOT NULL default '0',\ `serialNo` int(11) default NULL,\ `serialNum` varchar(20) default NULL,\ `name` varchar(20) default NULL,\ `idNumber` varchar(50) default NULL,\ `memberId` int(11) default NULL,\ `creditAmount` int(11) default NULL,\ `consumeAmount` int(11) default NULL,\ `returnAmount` int(11) default NULL,\ `checkinTime` datetime default NULL,\ `checkoutTime` datetime default NULL,"); strSQL += _T("\ `termId` varchar(8) default NULL,\ `ClassId` tinyint(4) default '0',\ `PayType` tinyint(4) default '0',\ `PCClass` tinyint(4) default '0',\ `timeConsume` int(11) default NULL,\ `operator` varchar(30) default NULL,\ `dataStatus` tinyint(4) default NULL,\ `checkData` varchar(32) default NULL,\ PRIMARY KEY (`submitTime`,`netBarId`,`refNo`),\ KEY `lc_serialnum` (`serialNum`),\ KEY `lc_memberId` (`memberId`),\ KEY `lc_termId` (`termId`),\ KEY `lc_name` (`name`),\ KEY `lc_idnumber` (`idNumber`)\ ) ENGINE=InnoDB DEFAULT CHARSET=gbk"); ExecuteSQL(strSQL); }
void SQL_Devices::create_users_table( ) { bool exists = sql_devices.users_table_exists(); if (exists) { //printf("TABLE Already Exists\n"); return ; } query_string = "CREATE TABLE `my_devices` ( \ `_id` int(11) NOT NULL AUTO_INCREMENT, \ `login_count` int(11) NOT NULL, \ `last_login` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, \ `user_id` int(11) NOT NULL, \ `regex` text COMMENT 'Contains a regex for matching user spoken name.', \ `preferred_name` text NOT NULL COMMENT 'Such as \"Steves phone\" rather than dev_name \"Sensation\"', \ `device_type` text NOT NULL COMMENT 'Phone, Humanoid, Tablet, Reader, Playstation,Wii, etc.', \ `hostname` text NOT NULL, \ `IP_address` text NOT NULL, \ `Mac_address` text NOT NULL, \ `SerialNumber` text NOT NULL COMMENT 'This was not available in Android \"Build.SERIALNUMBER\"', \ `phone_number` varchar(20) NOT NULL, \ `Operating_System` varchar(20) NOT NULL COMMENT 'Android/iPhone/WindowsCE/', \ `Board` text NOT NULL, \ `Bootloader` text NOT NULL, \ `Brand` text NOT NULL, \ `CPU_ABI` text NOT NULL, \ `Display` text NOT NULL, \ `Hardware` text NOT NULL, \ `Manufacturer` text NOT NULL, \ `Model` text NOT NULL, \ `Tags` text NOT NULL, \ PRIMARY KEY (`_id`) \ ) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;"; printf("CREATING TABLE: %s\n", query_string.c_str() ); query(false); }
void MySQLCreateSchema() { //void MySQLRecordStatTotalMoney(int total_money): if(mysql_query(mysqlcon, "CREATE TABLE `player_money_total` ( \ `idplayer_money_total` int(11) NOT NULL AUTO_INCREMENT, \ `player_money_total_time` datetime NOT NULL, \ `player_money_total_amount` int(11) NOT NULL, \ PRIMARY KEY (`idPlayerMoneyTotal`) \ ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;")) { dprintf("unable to create table playermoneytotal"); } //MySQLRecordPlayerLogin(session_node *s) if(mysql_query(mysqlcon, "CREATE TABLE `player_logins` ( \ `idplayer_logins` int(11) NOT NULL AUTO_INCREMENT, \ `player_logins_account_name` varchar(45) NOT NULL, \ `player_logins_character_name` varchar(45) NOT NULL, \ `player_logins_IP` varchar(45) NOT NULL, \ `player_logins_time` datetime NOT NULL, \ PRIMARY KEY (`idplayer_logins`) \ ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ")) { dprintf("unable to create table player_logins", mysql_error(mysqlcon)); } if(mysql_query(mysqlcon, "CREATE TABLE `money_created` ( \ `idmoney_created` int(11) NOT NULL AUTO_INCREMENT, \ `money_created_amount` int(11) NOT NULL, \ `money_created_time` datetime NOT NULL, \ PRIMARY KEY (`idmoney_created`) \ ) ENGINE=InnoDB DEFAULT CHARSET=latin1;")) { dprintf("unable to create table money_created", mysql_error(mysqlcon)); } if(mysql_query(mysqlcon, "CREATE TABLE `player_damaged` ( \ `idplayer_damaged` int(11) NOT NULL AUTO_INCREMENT, \ `player_damaged_who` varchar(45) NOT NULL, \ `player_damaged_attacker` varchar(45) NOT NULL, \ `player_damaged_aspell` int(11) NOT NULL, \ `player_damaged_atype` int(11) NOT NULL, \ `player_damaged_applied` int(11) NOT NULL, \ `player_damaged_original` int(11) NOT NULL, \ `player_damaged_weapon` varchar(45) NOT NULL, \ `player_damaged_time` datetime NOT NULL, \ PRIMARY KEY (`idplayer_damaged`) \ ) ENGINE=InnoDB DEFAULT CHARSET=latin1;")) { dprintf("unable to create table player_damaged", mysql_error(mysqlcon)); } }
gint alter_rtr1(class alter_rtr_data *data) { char strsql[1000]; //1 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); time(&data->vremn); iceb_printw(iceb_u_toutf("Открываем базу\n"),data->buffer,data->view); if(sql_openbaz(&bd,data->imabaz.ravno(),data->host.ravno(),"root",data->parol.ravno()) != 0) { iceb_eropbaz(data->imabaz.ravno(),0,"",1); gtk_label_set_text(GTK_LABEL(data->label),gettext("Расчет закончен")); gtk_widget_grab_focus(data->knopka); gtk_widget_show_all(data->window); return(FALSE); } iceb_start_rf(); //2 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Вставляем колонку podr в таблицу Restdok.\n"),data->buffer,data->view); sprintf(strsql,"alter table Restdok add podr int not null"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонка в таблице уже существует.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } else { iceb_printw(iceb_u_toutf("Удаляем индексы mo и datd в таблице Restdok.\n"),data->buffer,data->view); sprintf(strsql,"alter table Restdok drop index mo, drop index datd"); if(sql_zap(&bd,strsql) != 0) { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } iceb_printw(iceb_u_toutf("Добавляем индексы mo,podr и datd,podr в таблицу Restdok.\n"),data->buffer,data->view); sprintf(strsql,"alter table Restdok add index mo (mo,podr), add index datd (datd,podr)"); if(sql_zap(&bd,strsql) != 0) { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } iceb_printw(iceb_u_toutf("Вставляем колонку podr в таблицу Restdok1.\n"),data->buffer,data->view); sprintf(strsql,"alter table Restdok1 add podr int not null"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонка в таблице уже существует.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //3 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Вставляем колонку nz и mr в таблицу Restdok1.\n"),data->buffer,data->view); sprintf(strsql,"alter table Restdok1 add nz smallint not null, add mr smallint not null"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонки в таблице уже существуют.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } else { iceb_printw(iceb_u_toutf("Удаляем индекс datd в таблице Restdok1.\n"),data->buffer,data->view); sprintf(strsql,"alter table Restdok1 drop index datd"); if(sql_zap(&bd,strsql) != 0) { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } iceb_printw(iceb_u_toutf("Добавляем индекс datd в таблицу Restdok1.\n"),data->buffer,data->view); sprintf(strsql,"alter table Restdok1 add unique datd (datd,nomd,skl,mz,kodz,nz)"); if(sql_zap(&bd,strsql) != 0) { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //4 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Вставляем колонки vremz,vremo в таблицу Restdok.\n"),data->buffer,data->view); sprintf(strsql,"alter table Restdok add vremz int unsigned not null, add vremo int unsigned not null"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонки в таблице уже существуют.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //5 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Вставляем колонки ps (процент скидки) и grup (группа) в таблицу Taxiklient.\n"),data->buffer,data->view); sprintf(strsql,"alter table Taxiklient add ps float not null,add grup char(10) not null"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонкa в таблице уже существует.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //6 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Создаём таблицу групп клиентов Grupklient.\n"),data->buffer,data->view); memset(strsql,'\0',sizeof(strsql)); strcpy(strsql,"CREATE TABLE Grupklient \ (kod char(10) not null primary key,\ naik varchar(100) not null,\ ktoz smallint unsigned not null,\ vrem int unsigned not null)"); /* 0 kod код группы 1 naik наименование группы 2 ktoz кто записал 3 vrem время записи */ if(sql_zap(&bd,strsql) < 0) { sprintf(strsql,"%d %s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } else iceb_printw(iceb_u_toutf("Таблица создана !\n"),data->buffer,data->view); //7 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Вставляем колонку ps (процент скидки) таблицу Restdok.\n"),data->buffer,data->view); sprintf(strsql,"alter table Restdok add ps float not null"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонкa в таблице уже существует.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //8 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Вставляем колонку nds в таблицу Restdok1.\n"),data->buffer,data->view); sprintf(strsql,"alter table Restdok1 add nds tinyint not null"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонка в таблице уже существует.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //9 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Вставляем колонку sp в таблицу Taxiklient.\n"),data->buffer,data->view); sprintf(strsql,"alter table Taxiklient add sp varchar(100) not null"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонка в таблице уже существует.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //10 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Вставляем колонку ps в таблицу Restdok1.\n"),data->buffer,data->view); sprintf(strsql,"alter table Restdok1 add ps float not null"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонка в таблице уже существует.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //11 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Вставляем колонку mk в таблицу Taxiklient.\n"),data->buffer,data->view); sprintf(strsql,"alter table Taxiklient add mk tinyint not null"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонка в таблице уже существует.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //12 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Вставляем колонку dvk в таблицу Taxiklient.\n"),data->buffer,data->view); sprintf(strsql,"alter table Taxiklient add dvk DATETIME not null"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонка в таблице уже существует.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //13 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Вставляем колонку pl в таблицу Taxiklient.\n"),data->buffer,data->view); sprintf(strsql,"alter table Taxiklient add pl tinyint not null"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонка в таблице уже существует.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //14 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Вставляем колонку cdg в таблицу Restvi\n"),data->buffer,data->view); sprintf(strsql,"alter table Restvi add cdg float(7,2) not null"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонка в таблице уже существует.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //15 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Вставляем колонку denrog в таблицу Taxiklient.\n"),data->buffer,data->view); sprintf(strsql,"alter table Taxiklient add denrog DATE not null"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонка в таблице уже существует.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //16 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Вставляем колонку kom в таблицу Taxiklient.\n"),data->buffer,data->view); sprintf(strsql,"alter table Taxiklient add kom VARCHAR(100) NOT NULL"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонка в таблице уже существует.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //17 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Добавляем индекс nk,datz,kodz в таблицу Restkas.\n"),data->buffer,data->view); sprintf(strsql,"alter table Restkas add index nk1 (nk,kodz,datz)"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_KEYNAME) { iceb_printw(iceb_u_toutf("Индексы в таблице уже существуют.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //18 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Вставляем колонку mb в таблицу Taxiklient.\n"),data->buffer,data->view); sprintf(strsql,"alter table Taxiklient add mb tinyint not null"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_FIELDNAME) { iceb_printw(iceb_u_toutf("Колонка в таблице уже существует.\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //19 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Добавляем индекс в таблицу Restdok1\n"),data->buffer,data->view); sprintf(strsql,"alter table Restdok1 add index kodz (kodz,skl,mz,ms)"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_KEYNAME) { iceb_printw(iceb_u_toutf("Индекс уже существует\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } //20 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Добавляем индекс в таблицу Restdok1\n"),data->buffer,data->view); sprintf(strsql,"alter table Restdok1 add index skl (skl,ms,mz)"); if(sql_zap(&bd,strsql) != 0) { if(sql_nerror(&bd) == ER_DUP_KEYNAME) { iceb_printw(iceb_u_toutf("Индекс уже существует\n"),data->buffer,data->view); } else { sprintf(strsql,"Ошибка ! %d\n%s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } } /*******************************/ sql_closebaz(&bd); iceb_printw_vr(data->vremn,data->buffer,data->view); gtk_label_set_text(GTK_LABEL(data->label),gettext("Расчет закончен")); gtk_widget_grab_focus(data->knopka); gtk_widget_show_all(data->window); return(FALSE); }
SchedRulesList::SchedRulesList(QString clockname) { QString sql; RDSqlQuery *q; RDSqlQuery *q1; sql=QString().sprintf("create table if not exists `%s_RULES` (\ CODE varchar(10) not null primary key,\ MAX_ROW int unsigned,\ MIN_WAIT int unsigned,\ NOT_AFTER varchar(10),\ OR_AFTER varchar(10),\ OR_AFTER_II varchar(10))",(const char*)clockname.replace(" ","_")); q=new RDSqlQuery(sql); if(!q->isActive()) { printf("SQL: %s\n",(const char *)sql); printf("SQL Error: %s\n",(const char *)q->lastError().databaseText()); } delete q; sql=QString().sprintf("select CODE,DESCRIPTION from SCHED_CODES order by `CODE` asc"); q=new RDSqlQuery(sql); itemcounter=q->size(); sched_code = new QString[itemcounter]; max_row = new int[itemcounter]; min_wait = new int[itemcounter]; not_after = new QString[itemcounter]; or_after = new QString[itemcounter]; or_after_II = new QString[itemcounter]; description = new QString[itemcounter]; for (int i=0; i<itemcounter; i++){ q->next(); sched_code[i] = q->value(0).toString(); description[i] = q->value(1).toString(); sql=QString().sprintf("select MAX_ROW,MIN_WAIT,NOT_AFTER,OR_AFTER,OR_AFTER_II from %s_RULES where CODE=\"%s\"", (const char *)clockname.replace(" ","_"),(const char *)sched_code[i]); q1=new RDSqlQuery(sql); if(q1->first()) { max_row[i] = q1->value(0).toInt(); min_wait[i] = q1->value(1).toInt(); not_after[i] = q1->value(2).toString(); or_after[i] = q1->value(3).toString(); or_after_II[i] = q1->value(3).toString(); } else { max_row[i] = 1; min_wait[i] = 0; not_after[i] = ""; or_after[i] = ""; or_after_II[i] = ""; } delete q1; } delete q; }
#endif // Don't forget to change the version number before changing tableInfo! // // ONCE AGAIN, DON'T FORGET TO INCREASE THIS VALUE #define WP_DATABASE_VERSION "5" // This is used for autocreating the tables struct { const char *name; const char *create; } tableInfo[] = { { "guilds", "CREATE TABLE guilds ( \ serial int(11) NOT NULL default '0', \ name varchar(255) NOT NULL default '', \ abbreviation varchar(255) NOT NULL default '', \ charta LONGTEXT NOT NULL, \ website varchar(255) NOT NULL default '', \ alignment int(2) NOT NULL default '0', \ leader int(11) NOT NULL default '-1', \ founded int(11) NOT NULL default '0', \ guildstone int(11) NOT NULL default '-1', \ PRIMARY KEY(serial) \ );" }, { "guilds_members", "CREATE TABLE guilds_members ( \ guild int(11) NOT NULL default '0', \ player int(11) NOT NULL default '0', \ showsign int(1) NOT NULL default '0', \ guildtitle varchar(255) NOT NULL default '', \
gint i_sbtaxi_r1(class i_sbtaxi_r_data *data) { time(&data->vremn); char strsql[1024]; char bros[1024]; iceb_u_str repl; //1 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); if(mysql_init(&bd) == NULL) { iceb_printw(iceb_u_toutf("Ошибка инициализации базы данных!\n"),data->buffer,data->view); sprintf(strsql,"%d %s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); gtk_label_set_text(GTK_LABEL(data->label),iceb_u_toutf("Создание базы аварийно завершено")); return(FALSE); } if(mysql_real_connect(&bd,data->host.ravno(),"root",data->parol.ravno(),"mysql",0,NULL,0) == NULL) { iceb_printw(iceb_u_toutf("Ошибка соединения с демоном базы данных!\n"),data->buffer,data->view); sprintf(strsql,"%d %s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); gtk_label_set_text(GTK_LABEL(data->label),iceb_u_toutf("Создание базы аварийно завершено")); return(FALSE); } iceb_printw(iceb_u_toutf("Создаем базу данных\n"),data->buffer,data->view); //sprintf(strsql,"create database %s",data->imabaz.ravno()); sprintf(strsql,"create database %s DEFAULT CHARACTER SET '%s'",data->imabaz.ravno(),data->kodirovka.ravno()); if(sql_zap(&bd,strsql) != 0) { //База уже может быть создана sprintf(strsql,"%d %s\n",sql_nerror(&bd),sql_error(&bd)); iceb_printw(iceb_u_toutf(strsql),data->buffer,data->view); } iceb_printw(iceb_u_toutf("Открываем базу\n"),data->buffer,data->view); if(sql_openbaz(&bd,data->imabaz.ravno(),data->host.ravno(),"root",data->parol.ravno()) != 0) { iceb_eropbaz(data->imabaz.ravno(),0,"",1); gtk_label_set_text(GTK_LABEL(data->label),iceb_u_toutf("Создание базы аварийно завершено")); gtk_widget_grab_focus(data->knopka); gtk_widget_show_all(data->window); return(FALSE); } sprintf(strsql,"SET NAMES %s",data->kodirovka_zaprosov.ravno()); iceb_sql_zapis(strsql,1,0,data->window); //iceb_start_rf(); //2,3 #include "gr_klient.h" //4 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Создание таблицы водителей Taxivod !\n"),data->buffer,data->view); memset(strsql,'\0',sizeof(strsql)); strcpy(strsql,"CREATE TABLE Taxivod (\ kod char(20) not null primary key,\ fio varchar(60) not null,\ adres varchar(100) not null,\ telef varchar(40) not null,\ gosn varchar(20) not null,\ sm smallint not null,\ ktoi smallint unsigned not null,\ vrem int unsigned not null)"); /* 0 kod код 1 fio фамилия 2 adres адрес 3 telef телефон 4 gosn гос. номер машины 5 sm 0-на смене 1-не на смене 6 ktoi кто записал 7 vrem время записи */ if(sql_zap(&bd,strsql) != 0) { sprintf(bros,"%d %s\n",sql_nerror(&bd),sql_error(&bd)); repl.new_plus(bros); // repl.plus_ps(strsql); iceb_printw(repl.ravno_toutf(),data->buffer,data->view); } else iceb_printw(iceb_u_toutf("Таблица создана.\n\n"),data->buffer,data->view); //5 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Создание таблицы кодов завершения заказов Taxikzz !\n"),data->buffer,data->view); memset(strsql,'\0',sizeof(strsql)); strcpy(strsql,"CREATE TABLE Taxikzz (\ kod smallint not null primary key,\ naik varchar(60) not null,\ ktoi smallint unsigned not null,\ vrem int unsigned not null)"); /* 0 kod код 1 naik наименование кода 2 ktoi кто записал 3 vrem время записи */ if(sql_zap(&bd,strsql) != 0) { sprintf(bros,"%d %s\n",sql_nerror(&bd),sql_error(&bd)); repl.new_plus(bros); // repl.plus_ps(strsql); iceb_printw(repl.ravno_toutf(),data->buffer,data->view); } else iceb_printw(iceb_u_toutf("Таблица создана.\n\n"),data->buffer,data->view); //6 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Создание таблицы заказов Taxizak !\n"),data->buffer,data->view); memset(strsql,'\0',sizeof(strsql)); strcpy(strsql,"CREATE TABLE Taxizak (\ kz smallint not null,\ kodk varchar(20) not null,\ kv varchar(20) not null,\ fio varchar(60) not null,\ telef varchar(40) not null,\ kolp smallint not null,\ datvz DATE not null,\ vremvz TIME not null,\ datz DATE not null,\ vremz TIME not null,\ adreso varchar(100) not null,\ adresk varchar(100) not null,\ koment varchar(250) not null,\ suma float not null,\ vremzz int unsigned not null,\ ktoi smallint unsigned not null,\ vrem int unsigned not null,\ zvuk varchar(40) not null,\ index(kz,datvz,vremvz),\ index(datvz,vremvz),\ index(kodk,datvz),\ index(telef,datvz))"); /* 0 kz код завершения 1 kodk код клиента 2 kv код водителя 3 fio фамилия заказчика 4 telef телефон клиента 5 kolp количество пассажиров 6 datvz дата когда нужно выполнить заказ 7 vremvz время когда нужно выполнить заказ 8 datz дата заказа 9 vremz время заказа 10 adreso адрес отуда забрать клиента 11 adresk адрес куда отвезти 12 koment коментарий 13 suma сума 14 vremzz время завершения заказа 15 ktoi кто записал 16 vrem время записи 17 zvuk имя файла с записью разговора */ if(sql_zap(&bd,strsql) != 0) { sprintf(bros,"%d %s\n",sql_nerror(&bd),sql_error(&bd)); repl.new_plus(bros); // repl.plus_ps(strsql); iceb_printw(repl.ravno_toutf(),data->buffer,data->view); } else iceb_printw(iceb_u_toutf("Таблица создана.\n\n"),data->buffer,data->view); //7 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Создание таблицы телефонов Taxitel !\n"),data->buffer,data->view); memset(strsql,'\0',sizeof(strsql)); strcpy(strsql,"CREATE TABLE Taxitel (\ tel varchar(20) not null primary key,\ adres varchar(100) not null,\ ktoi smallint unsigned not null,\ vrem int unsigned not null)"); /* 0 tel номер телефона 1 adres адрес 2 ktoi кто записал 3 vrem время записи */ if(sql_zap(&bd,strsql) != 0) { sprintf(bros,"%d %s\n",sql_nerror(&bd),sql_error(&bd)); repl.new_plus(bros); // repl.plus_ps(strsql); iceb_printw(repl.ravno_toutf(),data->buffer,data->view); } else iceb_printw(iceb_u_toutf("Таблица создана.\n\n"),data->buffer,data->view); //8 iceb_pbar(data->bar,data->kolstr,++data->kolstr1); iceb_printw(iceb_u_toutf("Создание таблицы сальдо по клиентам Taxiklsal !\n"),data->buffer,data->view); memset(strsql,'\0',sizeof(strsql)); strcpy(strsql,"CREATE TABLE Taxiklsal (\ god smallint not null,\ kod char(20) not null,\ saldo double(10,2) not null,\ ktoi smallint unsigned not null,\ vrem int unsigned not null,\ unique(god,kod))"); /* 0 god год 1 kod код клиента 2 saldo сальдо по клиенту 3 ktoi кто записал 4 vrem время записи */ if(sql_zap(&bd,strsql) != 0) { sprintf(bros,"%d %s\n",sql_nerror(&bd),sql_error(&bd)); repl.new_plus(bros); // repl.plus_ps(strsql); iceb_printw(repl.ravno_toutf(),data->buffer,data->view); } else iceb_printw(iceb_u_toutf("Таблица создана\n\n"),data->buffer,data->view); /*Загружаем настроечные файлы в базу данных*/ iceb_alxzag(data->putnansi.ravno(),0,data->view,data->buffer,data->window); sql_closebaz(&bd); iceb_printw_vr(data->vremn,data->buffer,data->view); gtk_label_set_text(GTK_LABEL(data->label),iceb_u_toutf("Создание базы завершено")); gtk_widget_grab_focus(data->knopka); gtk_widget_show_all(data->window); return(FALSE); }
void CUserQueryHiveLog::Core() { std::string pchSqlPermissions ;//= "insert into rtb_hive_data"; //char insertMysqlValue[2000]; std::string insertMysqlValue; std::string createTable; //10000000 std::string tableValue ="( id int(10) unsigned NOT NULL AUTO_INCREMENT ,\ log_time datetime DEFAULT NULL ,\ reqParams varchar(1000) DEFAULT NULL ,\ reqAction varchar(1000) DEFAULT NULL ,\ resultValue varchar(19800) DEFAULT NULL ,\ queryTime bigint(20) DEFAULT NULL,\ log_dayID bigint(20) DEFAULT NULL ,\ log_HourID bigint(20) DEFAULT NULL ,\ PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ;"; char chSource[10]; char chProvider[10]; char logDate[30]; std::string strHiveDate; while(true) { strHiveDate = BdxUserQueryHiveLogGetDate(); createTable = "create table if not exists apigateway_hive_data_"+ strHiveDate + tableValue; //memset(insertMysqlValue,0,2000); memset(chSource,0,10); memset(chProvider,0,10); memset(logDate,0,30); pchSqlPermissions = "insert into apigateway_hive_data_" + strHiveDate +"(log_time,reqParams,reqAction,resultValue,queryTime,log_dayID,log_hourID)values"; std::vector<HIVELOCALLOG_S>::iterator itr; BdxQueryHiveLogOpenFile(); //BdxQueryHiveLogGetReport(); time_t timep; time(&timep); #ifdef __MYSQL__ if(!m_stMysqlServerInfoHive->GetMysqlInitState()) { m_stMysqlServerInfoHive->InitMysql(g_mySqlInfoHive.m_stMysqlLinkInfo.m_pchIp,g_mySqlInfoHive.m_stMysqlLinkInfo.m_uiPort,g_mySqlInfoHive.pchUserName,g_mySqlInfoHive.pchPassWord,g_mySqlInfoHive.pchDbName); } m_stMysqlServerInfoHive->ExecuteMySql(createTable.c_str());//create table //printf("Line:%d,create table %s\n",__LINE__,createTable.c_str()); LOG(DEBUG,"create table %s",createTable.c_str()); #endif struct tm* timeinfo = localtime(&timep); for(u_int i = 0; i < CUserQueryWorkThreads::m_vecHiveLog.size(); ++i) { while(!CUserQueryWorkThreads::m_vecHiveLog[i].empty()) { m_stHiveLog = CUserQueryWorkThreads::m_vecHiveLog[i].front(); CUserQueryWorkThreads::m_vecHiveLog[i].pop(); fprintf(m_pFile, "%04d-%02d-%02d %02d:%02d\t", timeinfo->tm_year + 1900, timeinfo->tm_mon + 1,timeinfo->tm_mday, timeinfo->tm_hour, timeinfo->tm_min); fprintf(m_pFile,"%s\t%s\t%s\t%s\t%s\t%s\n",m_stHiveLog.strReqParams.c_str(),m_stHiveLog.strAction.c_str(),m_stHiveLog.strValue.c_str(),m_stHiveLog.strQuerytime.c_str(),m_stHiveLog.strDayId.c_str(),m_stHiveLog.strHourId.c_str()); #ifdef __MYSQL__ sprintf(logDate, "%04d-%02d-%02d %02d:%02d",timeinfo->tm_year + 1900, timeinfo->tm_mon + 1,timeinfo->tm_mday, timeinfo->tm_hour, timeinfo->tm_min); insertMysqlValue =pchSqlPermissions + "('"+std::string(logDate)+"','" + m_stHiveLog.strReqParams +"','" + m_stHiveLog.strAction +"','" + m_stHiveLog.strValue + "','" + m_stHiveLog.strQuerytime +"','" + m_stHiveLog.strDayId + "','" + m_stHiveLog.strHourId + "');"; //printf("Line:%d,insertMysqlValue=%s\n",__LINE__,insertMysqlValue.c_str()); m_stMysqlServerInfoHive->ExecuteMySql(std::string("set names utf8").c_str());//set charset m_stMysqlServerInfoHive->ExecuteMySql((std::string("alter database ")+g_mySqlInfoHive.pchDbName+ std::string(" default character set utf8")).c_str());//set charset if(m_stMysqlServerInfoHive->ExecuteMySql(insertMysqlValue.c_str())) { LOG(DEBUG,"%s success",insertMysqlValue.c_str()); //printf("Line:%d,Insert into mysql is success.....%s\n",__LINE__,insertMysqlValue.c_str()); } else { LOG(DEBUG," %s error!!!!1",insertMysqlValue.c_str()); //printf("Line:%d,Insert into mysql is error.....\n",__LINE__); } #endif } //CUserQueryWorkThreads::m_vecHiveLog[i].clear(); } fflush(m_pFile); //sleep(3000); sleep(m_stHiveLogPrm.m_uiStatisticsTime); } }
/* Testing: binding of data via ct_param */ int main(int argc, char *argv[]) { int errCode = 0; CS_CONTEXT *ctx; CS_CONNECTION *conn; CS_COMMAND *cmd; int verbose = 0; CS_RETCODE ret; CS_CHAR cmdbuf[4096]; if (argc > 1 && (0 == strcmp(argv[1], "-v"))) verbose = 1; fprintf(stdout, "%s: submit language query with variables using ct_param \n", __FILE__); if (verbose) { fprintf(stdout, "Trying login\n"); } ret = try_ctlogin(&ctx, &conn, &cmd, verbose); if (ret != CS_SUCCEED) { fprintf(stderr, "Login failed\n"); return 1; } ct_callback(ctx, NULL, CS_SET, CS_CLIENTMSG_CB, (CS_VOID *) ex_clientmsg_cb); ct_callback(ctx, NULL, CS_SET, CS_SERVERMSG_CB, (CS_VOID *) ex_servermsg_cb); strcpy(cmdbuf, "create table #ctparam_lang (id numeric identity not null, \ name varchar(30), name2 varchar(20), age int, cost money, bdate datetime, fval float) "); ret = run_command(cmd, cmdbuf); if (ret != CS_SUCCEED) { fprintf(stderr, "create table failed\n"); errCode = 1; goto ERR; } /* test by name */ errCode = insert_test(conn, cmd, 1); /* if worked, test by position */ if (0 == errCode) errCode = insert_test(conn, cmd, 0); query = "insert into #ctparam_lang (name,name2,age,cost,bdate,fval) values (?, ?, ?, ?, ?, ?)"; if (0 == errCode) errCode = insert_test(conn, cmd, 0); if (verbose && (0 == errCode)) fprintf(stdout, "lang_ct_param tests successful\n"); ERR: if (verbose) { fprintf(stdout, "Trying logout\n"); } ret = try_ctlogout(ctx, conn, cmd, verbose); if (ret != CS_SUCCEED) { fprintf(stderr, "Logout failed\n"); return 1; } return errCode; }
void perf_statement::simpleSelect1k() { logMsg("perf_statement::simpleSelect1k() - MySQL_Statement::*, MYSQL_Resultset::*"); String varchar(""); std::stringstream query; int i; stmt.reset(con->createStatement()); try { TIMER_START("SELECT 1k FROM DUAL - statement"); for (i=0; i < 50000; ++i) { res.reset(stmt->executeQuery("SELECT 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' FROM DUAL")); while (res->next()) { varchar=res->getString(1); varchar=res->getString(2); varchar=res->getString(3); varchar=res->getString(4); } } TIMER_STOP("SELECT 1k FROM DUAL - statement"); // Same - not buffered stmt->setResultSetType( sql::ResultSet::TYPE_FORWARD_ONLY ); TIMER_START("SELECT 1k FROM DUAL - statement fw only"); for (i=0; i < 50000; ++i) { res.reset(stmt->executeQuery("SELECT 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' FROM DUAL")); while (res->next()) { varchar=res->getString(1); varchar=res->getString(2); varchar=res->getString(3); varchar=res->getString(4); } } TIMER_STOP("SELECT 1k FROM DUAL - statement fw only"); // Same with prepare statements pstmt.reset( con->prepareStatement( "SELECT 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' FROM DUAL" ) ); TIMER_START("SELECT 1k FROM DUAL - prepared statement"); for (i=0; i < 50000; ++i) { res.reset(pstmt->executeQuery()); while (res->next()) { varchar=res->getString(1); varchar=res->getString(2); varchar=res->getString(3); varchar=res->getString(4); } } TIMER_STOP("SELECT 1k FROM DUAL - prepared statement"); } catch (sql::SQLException &e) { logErr(e.what()); logErr("SQLState: " + std::string(e.getSQLState())); fail(e.what(), __FILE__, __LINE__); } }
SqlLiteTest::SqlLiteTest(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); QTextCodec::setCodecForLocale(QTextCodec::codecForLocale()); QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");//添加数据库 db.setHostName("Erric"); db.setDatabaseName("YSQ.db"); db.setUserName("yinshangqqing"); db.setPassword("123456"); if(db.open()) { qDebug()<<"Database opened success !"; QSqlQuery query; bool success = query.exec("create table if not exists auto\ (id int primary key,\ name varchar(20),\ address varchar(30))"); if(success) { qDebug()<<"table create success !"; } else { qDebug()<<"table create fail !"; } //查询 query.exec("select * from auto"); QSqlRecord rec = query.record(); qDebug()<<"auto columns count: "<<rec.count(); //插入记录 QString insert_sql = "insert into auto values(1,'hao','beijing'),(2,'yun','shanghai'),(3,'qing','guangzhou')"; QString select_sql = "select * from auto"; success = query.prepare(insert_sql); if(success) { qDebug()<<"insert table success !"; } else { qDebug()<<"insert table fail !"; QSqlError lastError = query.lastError(); qDebug()<<"lastError: "<<lastError; } success = query.prepare(select_sql); if(success) { //qDebug()<<"datas: "<<query.prepare(select_sql); qDebug()<<"select table success !"; while(query.next()) { int id = query.value(0).toInt(); QString name = query.value(1).toString(); QString address = query.value(2).toString(); qDebug()<<QString("%1,%2,%3").arg(id).arg(name).arg(address); } } else { qDebug()<<"select table fail !"; QSqlError lastError = query.lastError(); qDebug()<<"lastError: "<<lastError; } }
#include <stdio.h> #include <sqlite3.h> sqlite3 *db; static char* dbname = "120236ly.sqlite.db"; static int n_tables = 2; static char* tables[1024] = { "create table if not exists _120236ly ( \ uid char(12), \ name nchar(10), \ age nchar(4), \ birth date, \ idcard char(18), \ place nchar(40), \ address nchar(400), \ phone varchar(20), \ other nchar(200), \ autflag integer default 65793, \ passwd varchar(20) default '123' \ )", "create table if not exists material_120236ly ( \ mid char(12), \ mname char(20), \ mtype char(10), \ munit char(5), \ mstock integer, \ mcomment char(100) \ )", "create table if not exists o_120236ly ( \ oid char(12), \ odate date, \
# include <stdlib.h> # include <iiapi.h> static void IIdemo_init(); static void IIdemo_term(); static void IIdemo_conn( char *, II_PTR * ); static void IIdemo_disconn( II_PTR * ); static void IIdemo_query( II_PTR *, II_PTR *, char *, char * ); static void IIdemo_rollback( II_PTR * ); static char procName[] = "api_demo_prbr"; static char procText[] = "create procedure api_demo_prbr( \ table_name varchar(32) with null, \ column_count integer with null ) \ as declare \ table_count integer not null; \ begin \ if ( :table_name is null ) then \ select table_name into :table_name from iitables; \ endif; \ select count(*) into :column_count from iicolumns \ where table_name = :table_name; \ select count(*) into :table_count from iitables; \ return :table_count; \ end"; typedef struct {
unsigned char* Registro::readCampo(unsigned int index,unsigned int blockIDMD) { // Terminado Metadata md(blockIDMD); unsigned int off=0; unsigned char* resul; for(int i=0; i<md.getCant_campos(); i++) { InfoMDC inf = md.readCampo(i); if(i==index) { // devolver reg int val; if(inf.tipo_campo==1){val=sizeof(int);} else if(inf.tipo_campo==2){val=sizeof(double);} else if(inf.tipo_campo==3){val=inf.size+1;} else if(inf.tipo_campo==4){val=(sizeof(int) + sizeof(int) );} else if(inf.tipo_campo==5){val=sizeof(bool);} else{ throw SMException("Ese tipo de campo no es Soportado"); } mapabits m(inf.nulls); if(m.getAt(i)) { return 0; } resul = (unsigned char*)malloc(val); this->contentReg += off; memcpy(resul,this->contentReg,val); this->contentReg -= off; if(inf.tipo_campo == 4) // es varchar BidV / Index { unsigned int BidV,indice; memcpy(&BidV,resul,sizeof(unsigned int)); resul += sizeof(unsigned int); memcpy(&indice,resul,sizeof(unsigned int)); //VARCHARRR--- Varchar varchar(BidV); return varchar.selectVarchar(indice); } return resul; } else { if(inf.tipo_campo==1){off+=sizeof(int);}// es int else if(inf.tipo_campo==2){off+=sizeof(double);} // es double else if(inf.tipo_campo==3){off+=inf.size+1;} // es char else if(inf.tipo_campo==4){off+=(sizeof(int) + sizeof(int) );} // es Varchar else if(inf.tipo_campo==5){off+=sizeof(bool);} // es bool } } return 0; }
void SQL_Users::create_users_table( ) { bool exists = sql_users.users_table_exists(); if (exists) { //printf("TABLE Already Exists\n"); return ; } query_string = "CREATE TABLE `users` ( \ `id_user` int(11) NOT NULL AUTO_INCREMENT, \ `gcal_token` varchar(64) NOT NULL, \ `email` varchar(64) NOT NULL, \ `phone_number` varchar(16) NOT NULL, \ `username` varchar(16) NOT NULL, \ `_password` varchar(32) NOT NULL, \ `new_password` varchar(32) NOT NULL, \ `confirmcode` varchar(32) DEFAULT NULL, \ `firstname` varchar(64) NOT NULL, \ `lastname` varchar(64) NOT NULL, \ `Address_1` varchar(40) NOT NULL, \ `Address_2` varchar(40) NOT NULL, \ `City` varchar(20) NOT NULL, \ `State` varchar(20) NOT NULL, \ `ZipCode` varchar(10) NOT NULL, \ `Country` varchar(20) NOT NULL, \ `nick_name` varchar(20) NOT NULL, \ `MedRef_Provider_id` int(11) NOT NULL, \ `MedRef_Patient_id` int(11) NOT NULL, \ `Advertiser_id` int(11) NOT NULL, \ `Profile_pic_id` int(11) NOT NULL, \ `Profile_greeting_id` int(11) NOT NULL, \ `Birthdate` timestamp(11) NOT NULL, \ `Age` int(11) NOT NULL, \ `bedtime` timestamp NULL DEFAULT NULL, \ `wakeup` timestamp NULL DEFAULT NULL, \ PRIMARY KEY (`id_user`) \ ) ENGINE=MyISAM AUTO_INCREMENT=102 DEFAULT CHARSET=latin1"; query(false); }
bool TreeviewSampleApp::InitializeDatabase() { bool ok = true; const char* sqlCommands[] = { "pragma foreign_keys=1;", "CREATE TABLE IF NOT EXISTS projects (\ pid integer not null,\ prjtitle varchar(72),\ primary key (pid));", "CREATE TABLE IF NOT EXISTS folders (\ fid int not null,\ fname varchar(64) not null,\ fparent int not null,\ primary key (fid),\ foreign key (fparent) references folders(fid) on delete cascade,\ unique (fname, fparent));", "CREATE TABLE IF NOT EXISTS folderprojects (\ fid int not null,\ pid int not null,\ foreign key (fid) references folders(fid) on delete restrict,\ unique (fid,pid));", "CREATE TABLE IF NOT EXISTS folderclosure (\ ancestor int not null,\ descendant int not null,\ distance int not null,\ primary key (ancestor, descendant),\ foreign key (ancestor) references folders(fid),\ foreign key (descendant) references folders(fid));", "CREATE TRIGGER IF NOT EXISTS ait_folders AFTER INSERT ON folders FOR EACH ROW\ BEGIN\ INSERT INTO folderclosure (ancestor, descendant, distance)\ SELECT ancestor, NEW.fid, distance+1 FROM folderclosure\ WHERE descendant = NEW.fparent\ UNION ALL SELECT NEW.fid, NEW.fid, 0;\ END;", "CREATE TRIGGER IF NOT EXISTS but_folders BEFORE UPDATE ON folders FOR EACH ROW\ WHEN OLD.fparent != NEW.fparent\ BEGIN\ DELETE FROM folderclosure\ WHERE descendant IN (SELECT descendant FROM folderclosure WHERE ancestor = OLD.fid)\ AND ancestor NOT IN (SELECT descendant FROM folderclosure WHERE ancestor = OLD.fid);\ INSERT INTO folderclosure (ancestor, descendant, distance)\ SELECT supertree.ancestor, subtree.descendant, supertree.distance+subtree.distance+1\ FROM folderclosure AS supertree JOIN folderclosure AS subtree\ WHERE subtree.ancestor = OLD.fid\ AND supertree.descendant = NEW.fparent;\ END;", "CREATE TRIGGER IF NOT EXISTS bdt_folders BEFORE DELETE ON folders FOR EACH ROW\ BEGIN\ DELETE FROM folderclosure\ WHERE descendant IN (SELECT descendant FROM folderclosure WHERE ancestor = OLD.fid);\ END;", "INSERT OR IGNORE INTO folders (fid, fname, fparent) VALUES (1, 'root', 1);", NULL }; int state = 0; int count; int j = 0; try { m_db.Open(wxT("tvtest.db3")); while (sqlCommands[j] != NULL) { m_db.ExecuteUpdate(sqlCommands[j]); ++j; } state = 1; count = m_db.ExecuteScalar("SELECT COUNT(*) FROM folderprojects;"); if (count == 0) { m_db.ExecuteUpdate("INSERT OR IGNORE INTO projects VALUES (1,'Test project');"); m_db.ExecuteUpdate("INSERT INTO folderprojects (fid, pid) SELECT 1, pid FROM projects;"); } } catch (wxSQLite3Exception& e) { wxString msg; if (state == 0) msg = wxString(wxT("Error on creating the Treeview Sample database\n")); if (state == 0) msg = wxString(wxT("Error on initializing the Treeview Sample database\n")); msg += e.GetMessage(); wxMessageBox(msg, wxT("Treeview Sample Database Error"), wxOK | wxCENTRE | wxICON_ERROR); ok = false; } return ok; }
/* Create table table_name of type table_type. */ static logsql_table_ret log_sql_pgsql_create(request_rec *r, logsql_dbconnection *db, logsql_tabletype table_type, const char *table_name) { PGresult *result; const char *tabletype = apr_table_get(db->parms,"tabletype"); void (*handler) (int); char *type_suffix = NULL; char *create_prefix = "create table if not exists `"; char *create_suffix = NULL; char *create_sql; PGconn *conn = db->handle; /* if (!global_config.createtables) { return APR_SUCCESS; }*/ switch (table_type) { case LOGSQL_TABLE_ACCESS: create_suffix = "` (id char(19),\ agent varchar(255),\ bytes_sent int unsigned,\ child_pid smallint unsigned,\ cookie varchar(255),\ machine_id varchar(25),\ request_file varchar(255),\ referer varchar(255),\ remote_host varchar(50),\ remote_logname varchar(50),\ remote_user varchar(50),\ request_duration smallint unsigned,\ request_line varchar(255),\ request_method varchar(10),\ request_protocol varchar(10),\ request_time char(28),\ request_uri varchar(255),\ request_args varchar(255),\ server_port smallint unsigned,\ ssl_cipher varchar(25),\ ssl_keysize smallint unsigned,\ ssl_maxkeysize smallint unsigned,\ status smallint unsigned,\ time_stamp int unsigned,\ virtual_host varchar(255))"; break; case LOGSQL_TABLE_COOKIES: case LOGSQL_TABLE_HEADERSIN: case LOGSQL_TABLE_HEADERSOUT: case LOGSQL_TABLE_NOTES: create_suffix = "` (id char(19),\ item varchar(80),\ val varchar(80))"; break; } if (tabletype) { type_suffix = apr_pstrcat(r->pool, " TYPE=", tabletype, NULL); } /* Find memory long enough to hold the whole CREATE string + \0 */ create_sql = apr_pstrcat(r->pool, create_prefix, table_name, create_suffix, type_suffix, NULL); log_error(APLOG_MARK,APLOG_DEBUG,0, r->server,"create string: %s", create_sql); if (PQstatus(conn) != CONNECTION_OK) { return LOGSQL_QUERY_NOLINK; } /* A failed mysql_query() may send a SIGPIPE, so we ignore that signal momentarily. */ handler = signal(SIGPIPE, SIG_IGN); /* Run the create query */ result = PQexec(conn, create_sql); if (PQresultStatus(result) != PGRES_COMMAND_OK) { log_error(APLOG_MARK,APLOG_ERR,0, r->server,"failed to create table: %s", table_name); signal(SIGPIPE, handler); PQclear(result); return LOGSQL_TABLE_FAIL; } signal(SIGPIPE, handler); PQclear(result); return LOGSQL_TABLE_SUCCESS; }
HRESULT CHveDbController::SaveDBElement(RESULT_ELEMENT* pElement) { HRESULT hr = S_OK; if(!m_fIsConnecting) { SaveLog("数据库连接已经断开,尝试重新连接..."); hr = ConnectDB(); } if(!m_fIsConnecting) { char szOutPutInfo[100]; sprintf(szOutPutInfo, "连接数据库失败,保存%s结果失败...错误码:%d", pElement->szPlateNo, GetLastError()); SaveLog(szOutPutInfo); OutPutMessage(szOutPutInfo); return E_FAIL; } _variant_t RecordsAffected; CTime cTime(pElement->dw64TimeMs / 1000); CString strTime = cTime.Format("%Y-%m-%d %H:%M:%S"); CString strCurTable = cTime.Format("Hve_Data_%Y%m%d"); //int iMinute = cTime.GetMinute(); //CString strTmp = cTime.Format("Hve_Data_%Y%m%d%H"); //strCurTable.Format("%s_%d",strTmp.GetBuffer(), iMinute/10); // 10分钟一张表 //strTmp.ReleaseBuffer(); if(m_strLastTable != strCurTable) { char szCmdText[1024] = {0}; //try //{ // sprintf(szCmdText, "Create TABLE %s(Record_Id bigint primary key IDENTITY (1, 1) NOT NULL,\ // Location_Id int NOT NULL,Pass_Time datetime NOT NULL, Plate_No char(20), Road_No int,\ // Car_Speed int, Obj_Id int, Time_Headway int, Over_Line int, Cross_Line int,\ // Emergency_Stop int, Reverse_Run bit, Special_Result bit, big_image_1_path char(256),\ // big_image_2_path char(256), big_image_3_path char(256), big_image_4_path char(256),\ // big_image_5_path char(256), small_image_path char(256), bin_image_path char(256),\ // video_path char(256))", strCurTable.GetBuffer()); // m_pConnection->Execute((_bstr_t)szCmdText, &RecordsAffected, adCmdText); // sprintf(szCmdText, "CREATE INDEX [Pass_Time] ON [dbo].[%s] ([Pass_Time])", strCurTable.GetBuffer()); // m_pConnection->Execute((_bstr_t)szCmdText, &RecordsAffected, adCmdText); // sprintf(szCmdText, "CREATE INDEX [Obj_Id] ON [dbo].[%s] ([Obj_Id])", strCurTable.GetBuffer()); // m_pConnection->Execute((_bstr_t)szCmdText, &RecordsAffected, adCmdText); // sprintf(szCmdText, "CREATE INDEX [Special_Result] ON [dbo].[%s] ([Special_Result])", strCurTable.GetBuffer()); // m_pConnection->Execute((_bstr_t)szCmdText, &RecordsAffected, adCmdText); //} //表存在则不创建 try { sprintf(szCmdText, "if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[%s]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) \ Create TABLE %s(Record_Id bigint primary key IDENTITY (1, 1) NOT NULL,\ Location_Id int NOT NULL,Pass_Time datetime NOT NULL, Plate_No char(20), Road_No int, Road_Name char(25),Road_Direct char(10),\ Car_Speed int, Obj_Id int, Time_Headway int, Over_Line int, Cross_Line int,\ Emergency_Stop int, Reverse_Run bit, Speeding bit, Special_Result bit, big_image_1_path varchar(256),\ big_image_2_path varchar(256), big_image_3_path varchar(256), big_image_4_path varchar(256),\ big_image_5_path varchar(256), small_image_path varchar(256), bin_image_path varchar(256),\ video_path varchar(256))",strCurTable.GetBuffer(),strCurTable.GetBuffer()); m_pConnection->Execute((_bstr_t)szCmdText, &RecordsAffected, adCmdText); sprintf(szCmdText, "if not exists (select * from sysindexes where name='Pass_Time') CREATE INDEX [Pass_Time] ON [dbo].[%s] ([Pass_Time])", strCurTable.GetBuffer()); m_pConnection->Execute((_bstr_t)szCmdText, &RecordsAffected, adCmdText); sprintf(szCmdText, "if not exists (select * from sysindexes where name='Obj_Id') CREATE INDEX [Obj_Id] ON [dbo].[%s] ([Obj_Id])", strCurTable.GetBuffer()); m_pConnection->Execute((_bstr_t)szCmdText, &RecordsAffected, adCmdText); sprintf(szCmdText, "if not exists (select * from sysindexes where name='Special_Result') CREATE INDEX [Special_Result] ON [dbo].[%s] ([Special_Result])", strCurTable.GetBuffer()); m_pConnection->Execute((_bstr_t)szCmdText, &RecordsAffected, adCmdText); } catch (_com_error e) { m_fIsConnecting = FALSE; CString strErrorMessage; strErrorMessage.Format("创建表失败!错误信息:%s 错误码:%d", e.ErrorMessage(), GetLastError()); SaveLog(strErrorMessage.GetBuffer()); SaveLog(e.Description()); OutPutMessage("创建数据表失败!"); } ///////视图创建 由查询软件创建 //try //{ // char szCmdText[1024] = {0}; // sprintf(szCmdText, "IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = N'Hve_Data_View') DROP VIEW Hve_Data_View"); // m_pConnection->Execute((_bstr_t)szCmdText, &RecordsAffected, adCmdText); //} //catch (_com_error e) //{ // CString strErrorMessage; // strErrorMessage.Format("删除视图失败! 错误信息:%s 错误码:%d", e.ErrorMessage(), GetLastError()); // SaveLog(strErrorMessage.GetBuffer()); // SaveLog(e.Description()); // OutPutMessage("删除视图失败..."); //} //bool fIsCreateViewFault = true; //int iRetry = 0; //while(fIsCreateViewFault) //{ // if(iRetry++ == 5) // { // exit(1); //reboot // } // try // { // _RecordsetPtr pPtr; // CString strName; // if(FAILED(pPtr.CreateInstance("ADODB.Recordset"))) // { // OutPutMessage("创建ADO数据集失败..."); // return E_FAIL; // } // CString strConnectInfo; // strConnectInfo.Format("Driver=SQL Server;Server=%s;DATABASE=%s;UID=%s;PWD=%s", // m_strServerIP, m_strDataBase, m_strUserName, m_strPassword); // CString strCommand = "SELECT name FROM sysobjects WHERE (name LIKE 'Hve_Data_%')";; // if(FAILED(pPtr->Open(_variant_t(strCommand), _variant_t(strConnectInfo), adOpenStatic, adLockOptimistic, adCmdText))) // { // OutPutMessage("获取数据表名字失败..."); // pPtr.Release(); // return E_FAIL; // } // while(!pPtr->GetadoEOF()) // { // CString strTmp = (char*)_bstr_t(pPtr->GetCollect("name")); // strTmp.TrimRight(); // if(strName == "") // { // strName.Format("(SELECT * FROM %s)", strTmp); // } // else // { // strName.AppendFormat("union (SELECT * FROM %s)", strTmp); // } // pPtr->MoveNext(); // } // pPtr->Close(); // pPtr.Release(); // char szCmdText[1024] = {0}; // sprintf(szCmdText, "CREATE VIEW Hve_Data_View AS %s", strName); // m_pConnection->Execute((_bstr_t)szCmdText, &RecordsAffected, adCmdText); // fIsCreateViewFault = false; // } // catch (_com_error e) // { // fIsCreateViewFault = true; // CString strErrorMessage; // strErrorMessage.Format("创建视图失败... 错误码:%d", GetLastError()); // SaveLog(strErrorMessage.GetBuffer()); // SaveLog(e.Description()); // OutPutMessage("创建视图失败..."); // } //} }
*/ const char* const_userdb = "userinfo.db"; const char* const_msgdb = "msg.db"; const char* const_commondirectory = "Common"; TCHAR IPath::s_tszPath[MAX_PATH] = {0x0}; char IPath::s_szPath[MAX_PATH*2] = {0x0}; const char* const_userdb_sql = "begin;\n \ CREATE TABLE tb_localuser( \ id varchar(20) not null,\ nickname varchar(20),\ logintime int not null, \ lastlogintime varchar(20) not null,\ res varchar(20) not null default '',\ type varchar(20) not null default '',\ sex varchar(20) not null, \ loginid varchar(20) not null, \ pswd varchar(20) not null, \ primary key(id)\ );\ CREATE TABLE tb_localconfig(\ id varchar(20) not null ,\ loginstatus smallint not null default 0,\ savepswd smallint not null default 0,\ autologin smallint not null default 0,\
/* Create table table_name of type table_type. */ static logsql_table_ret log_sql_dbi_create(request_rec *r, logsql_dbconnection *db, logsql_tabletype table_type, const char *table_name) { dbi_result result; const char *driver = apr_table_get(db->parms,"driver"); const char *tabletype = apr_table_get(db->parms,"tabletype"); char *type_suffix = NULL; char *create_prefix = "create table if not exists `"; char *create_suffix = NULL; char *create_sql; dbi_conn_rec *dblink = db->handle; /* if (!global_config.createtables) { return APR_SUCCESS; }*/ switch (table_type) { case LOGSQL_TABLE_ACCESS: create_suffix = "` (id char(19),\ agent varchar(255),\ bytes_sent int unsigned,\ child_pid smallint unsigned,\ cookie varchar(255),\ machine_id varchar(25),\ request_file varchar(255),\ referer varchar(255),\ remote_host varchar(50),\ remote_logname varchar(50),\ remote_user varchar(50),\ request_duration smallint unsigned,\ request_line varchar(255),\ request_method varchar(10),\ request_protocol varchar(10),\ request_time char(28),\ request_uri varchar(255),\ request_args varchar(255),\ server_port smallint unsigned,\ ssl_cipher varchar(25),\ ssl_keysize smallint unsigned,\ ssl_maxkeysize smallint unsigned,\ status smallint unsigned,\ time_stamp int unsigned,\ virtual_host varchar(255))"; break; case LOGSQL_TABLE_COOKIES: case LOGSQL_TABLE_HEADERSIN: case LOGSQL_TABLE_HEADERSOUT: case LOGSQL_TABLE_NOTES: create_suffix = "` (id char(19),\ item varchar(80),\ val varchar(80))"; break; } if (tabletype && !strcmp(driver,"mysql")) { type_suffix = apr_pstrcat(r->pool, " TYPE=", tabletype, NULL); } /* Find memory long enough to hold the whole CREATE string + \0 */ create_sql = apr_pstrcat(r->pool, create_prefix, table_name, create_suffix, type_suffix, NULL); log_error(APLOG_MARK,APLOG_DEBUG,0, r->server,"create string: %s", create_sql); if (!dblink) { return LOGSQL_QUERY_NOLINK; } /* Run the create query */ if (!(result = dbi_conn_query(dblink, create_sql))) { const char *error; dbi_conn_error(dblink->conn, &error); log_error(APLOG_MARK, APLOG_ERR, 0, r->server, "DBI Error: %s", error); return LOGSQL_TABLE_FAIL; } return LOGSQL_TABLE_SUCCESS; }
void CCreateNewDatabase::RunEx() { //SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_LOWEST); // reset values m_strQueryCreateItem = ""; m_iCreateItem = 0; m_strQueryUpdateItem = ""; m_iUpdateItem = 0; m_strQueryNoUpdateItem = ""; m_iNoUpdateItem = 0; // calculate last run time // Scheduler SallyAPI::Scheduler::CSchedulerManager* schedulerManager = SallyAPI::Scheduler::CSchedulerManager::GetInstance(); SYSTEMTIME lastRun = schedulerManager->GetLastSchedulerRun(m_pWindow, "dbcreator"); //Convert both to FILETIMEs m_ftLastRun.dwHighDateTime = 0; m_ftLastRun.dwLowDateTime = 0; SystemTimeToFileTime(&lastRun, &m_ftLastRun); m_strCreateDate = SallyAPI::Date::DateHelper::GetCurrentDateString(false); // set the database version m_pWindow->SetPropertyInt("databaseVersion", 4); std::string mediaDB = m_strMediaDirectory; mediaDB.append("media.db"); bool bFileExists = SallyAPI::File::FileHelper::FileExistsAndNotEmpty(mediaDB); SallyAPI::Database::CDatabaseConnection* dbconn = SallyAPI::Database::CDatabaseConnection::Open(mediaDB); dbconn->LockDatabase(); if (bFileExists == false) { // Create std::string queryCreate; queryCreate.append("CREATE TABLE media ( \ Filename TEXT UNIQUE, \ Album TEXT, \ Artist TEXT, \ Band TEXT, \ Title TEXT, \ Year TEXT, \ Genre TEXT, \ Track TEXT, \ Type varchar(1) NOT NULL, \ DeleteFlag INTEGER, \ Rating INTEGER, \ PlayTime INTEGER, \ Cover INTEGER, \ DBAddDate varchar(19) NOT NULL, \ FileCreateDate varchar(19) NOT NULL, \ LastPlayDate varchar(19) NOT NULL, \ AlbumArtist TEXT, \ Field1 TEXT, \ Field2 TEXT, \ PRIMARY KEY (Filename));"); try { SallyAPI::Database::CStatement* stmtCreate = dbconn->CreateStatement(); stmtCreate->Execute(queryCreate.c_str()); } catch (SallyAPI::Database::CSQLException* e) { SallyAPI::System::CLogger* logger = SallyAPI::Core::CGame::GetLogger(); logger->Error(e->GetMessage()); } } dbconn->ReleaseDatabase(); // Set Delete Flag std::string querySetDelete = "UPDATE media SET DeleteFlag = 1;"; dbconn->LockDatabase(); try { SallyAPI::Database::CStatement* stmtSetDelete = dbconn->CreateStatement(); stmtSetDelete->Execute(querySetDelete.c_str()); } catch (SallyAPI::Database::CSQLException* e) { SallyAPI::System::CLogger* logger = SallyAPI::Core::CGame::GetLogger(); logger->Error(e->GetMessage()); } dbconn->ReleaseDatabase(); std::vector<std::string>::iterator iter; // Collect Information for (iter = m_vFolders.begin(); iter != m_vFolders.end(); iter++) { std::string folder = *iter; CollectInformation(folder); if (m_bPleaseStop) { SallyAPI::Database::CDatabaseConnection::Close(mediaDB); return; } } m_pProcessbar->SetMaxPosition(m_iFileCount); // Create Database for (iter = m_vFolders.begin(); iter != m_vFolders.end(); iter++) { std::string folder = *iter; AddFolder(dbconn, folder, mediaDB); if (m_bPleaseStop) { SallyAPI::Database::CDatabaseConnection::Close(mediaDB); return; } } // execute rest of the create item statements ExecuteCreateItem(dbconn); ExecuteUpdateItem(dbconn); ExecuteNoUpdateItem(dbconn); // Set Delete Flag std::string queryDelete; queryDelete.append("DELETE FROM media WHERE DeleteFlag = 1;"); dbconn->LockDatabase(); try { SallyAPI::Database::CStatement* stmtDelete = dbconn->CreateStatement(); stmtDelete->Execute(queryDelete.c_str()); } catch (SallyAPI::Database::CSQLException* e) { SallyAPI::System::CLogger* logger = SallyAPI::Core::CGame::GetLogger(); logger->Error(e->GetMessage()); } dbconn->ReleaseDatabase(); SallyAPI::Database::CDatabaseConnection::Close(mediaDB); m_pWindow->SendMessageToParent(0, 0, m_iMessageId); }
#include "output_mysql.h" #include "util.h" #include <stdlib.h> #include <string.h> #include <strings.h> static const char mysql_create_template[] = "\ CREATE TABLE IF NOT EXISTS `%s` (\ `tstamp` timestamp NOT NULL,\ `hostname` varchar(256) NOT NULL,\ `interface` varchar(16) NOT NULL,\ `vlan_tag` int(11) NOT NULL,\ `mac_address` varchar(17) NOT NULL,\ `ip_address` varchar(42) NOT NULL,\ `origin` varchar(8) NOT NULL,\ KEY `interface` (`interface`),\ KEY `vlan_tag` (`vlan_tag`),\ KEY `interface_vlan_tag` (`interface`,`vlan_tag`)\ )"; static const char mysql_insert_template[] = "\ INSERT INTO `%s`(\ `tstamp`,\ `hostname`, \ `interface`,\ `vlan_tag`,\ `mac_address`,\ `ip_address`,\ `origin`\ ) VALUES(FROM_UNIXTIME(?), ?, ?, ?, ?, ?, ?)";
int main(int argc, char *argv[]) { int errCode = 1; CS_RETCODE ret; CS_RETCODE results_ret; CS_CHAR cmdbuf[4096]; CS_CHAR name[257]; CS_INT datalength; CS_SMALLINT ind; CS_INT count; CS_INT num_cols; CS_INT row_count = 0; CS_DATAFMT datafmt; CS_DATAFMT descfmt; CS_INT intvar; CS_INT intvarsize; CS_SMALLINT intvarind; CS_INT res_type; int i; if (argc > 1 && (0 == strcmp(argv[1], "-v"))) verbose = 1; printf("%s: use ct_dynamic to prepare and execute a statement\n", __FILE__); if (verbose) { printf("Trying login\n"); } ret = try_ctlogin(&ctx, &conn, &cmd, verbose); if (ret != CS_SUCCEED) { fprintf(stderr, "Login failed\n"); return 1; } ct_callback(ctx, NULL, CS_SET, CS_CLIENTMSG_CB, (CS_VOID *) ex_clientmsg_cb); ct_callback(ctx, NULL, CS_SET, CS_SERVERMSG_CB, (CS_VOID *) ex_servermsg_cb); ret = ct_cmd_alloc(conn, &cmd2); chk(ret == CS_SUCCEED, "cmd2_alloc failed\n"); /* do not test error */ ret = run_command(cmd, "IF OBJECT_ID('tempdb..#ct_dynamic') IS NOT NULL DROP table #ct_dynamic"); strcpy(cmdbuf, "create table #ct_dynamic (id numeric identity not null, \ name varchar(30), age int, cost money, bdate datetime, fval float) "); ret = run_command(cmd, cmdbuf); chk(ret == CS_SUCCEED, "create table failed\n"); strcpy(cmdbuf, "insert into #ct_dynamic ( name , age , cost , bdate , fval ) "); strcat(cmdbuf, "values ('Bill', 44, 2000.00, 'May 21 1960', 60.97 ) "); ret = run_command(cmd, cmdbuf); chk(ret == CS_SUCCEED, "insert table failed\n"); strcpy(cmdbuf, "insert into #ct_dynamic ( name , age , cost , bdate , fval ) "); strcat(cmdbuf, "values ('Freddy', 32, 1000.00, 'Jan 21 1972', 70.97 ) "); ret = run_command(cmd, cmdbuf); chk(ret == CS_SUCCEED, "insert table failed\n"); strcpy(cmdbuf, "insert into #ct_dynamic ( name , age , cost , bdate , fval ) "); strcat(cmdbuf, "values ('James', 42, 5000.00, 'May 21 1962', 80.97 ) "); ret = run_command(cmd, cmdbuf); chk(ret == CS_SUCCEED, "insert table failed\n"); strcpy(cmdbuf, "select name from #ct_dynamic where age = ?"); ret = ct_dynamic(cmd, CS_PREPARE, "age", CS_NULLTERM, cmdbuf, CS_NULLTERM); chk(ret == CS_SUCCEED, "ct_dynamic failed\n"); chk(ct_send(cmd) == CS_SUCCEED, "ct_send(CS_PREPARE) failed\n"); while ((ret = ct_results(cmd, &res_type)) == CS_SUCCEED) { switch ((int) res_type) { case CS_CMD_SUCCEED: case CS_CMD_DONE: break; case CS_CMD_FAIL: break; default: goto ERR; } } chk(ret == CS_END_RESULTS, "ct_results() unexpected return.\n", (int) ret); ret = ct_dynamic(cmd, CS_DESCRIBE_INPUT, "age", CS_NULLTERM, NULL, CS_UNUSED); chk(ret == CS_SUCCEED, "ct_dynamic failed\n"); chk(ct_send(cmd) == CS_SUCCEED, "ct_send(CS_DESCRIBE_INPUT) failed\n"); while ((ret = ct_results(cmd, &res_type)) == CS_SUCCEED) { switch ((int) res_type) { case CS_DESCRIBE_RESULT: ret = ct_res_info(cmd, CS_NUMDATA, &num_cols, CS_UNUSED, NULL); chk(ret == CS_SUCCEED, "ct_res_info() failed"); for (i = 1; i <= num_cols; i++) { ret = ct_describe(cmd, i, &descfmt); chk(ret == CS_SUCCEED, "ct_describe() failed"); fprintf(stderr, "CS_DESCRIBE_INPUT parameter %d :\n", i); if (descfmt.namelen == 0) fprintf(stderr, "\t\tNo name...\n"); else fprintf(stderr, "\t\tName = %*.*s\n", descfmt.namelen, descfmt.namelen, descfmt.name); fprintf(stderr, "\t\tType = %d\n", descfmt.datatype); fprintf(stderr, "\t\tLength = %d\n", descfmt.maxlength); } break; case CS_CMD_SUCCEED: case CS_CMD_DONE: break; case CS_CMD_FAIL: break; default: goto ERR; } } ret = ct_dynamic(cmd, CS_DESCRIBE_OUTPUT, "age", CS_NULLTERM, NULL, CS_UNUSED); chk(ret == CS_SUCCEED, "ct_dynamic failed\n"); chk(ct_send(cmd) == CS_SUCCEED, "ct_send(CS_DESCRIBE_OUTPUT) failed\n"); while ((ret = ct_results(cmd, &res_type)) == CS_SUCCEED) { switch ((int) res_type) { case CS_DESCRIBE_RESULT: ret = ct_res_info(cmd, CS_NUMDATA, &num_cols, CS_UNUSED, NULL); chk(ret == CS_SUCCEED, "ct_res_info() failed"); chk(num_cols == 1, "CS_DESCRIBE_OUTPUT showed %d columns , expected 1\n", num_cols); for (i = 1; i <= num_cols; i++) { ret = ct_describe(cmd, i, &descfmt); chk(ret == CS_SUCCEED, "ct_describe() failed"); if (descfmt.namelen == 0) fprintf(stderr, "\t\tNo name...\n"); else fprintf(stderr, "\t\tName = %*.*s\n", descfmt.namelen, descfmt.namelen, descfmt.name); fprintf(stderr, "\t\tType = %d\n", descfmt.datatype); fprintf(stderr, "\t\tLength = %d\n", descfmt.maxlength); } break; case CS_CMD_SUCCEED: case CS_CMD_DONE: break; case CS_CMD_FAIL: break; default: goto ERR; } } /* execute dynamic on a second command to check it still works */ ret = ct_dynamic(cmd2, CS_EXECUTE, "age", CS_NULLTERM, NULL, CS_UNUSED); chk(ret == CS_SUCCEED, "ct_dynamic failed\n"); intvar = 44; intvarsize = 4; intvarind = 0; datafmt.name[0] = 0; datafmt.namelen = 0; datafmt.datatype = CS_INT_TYPE; datafmt.status = CS_INPUTVALUE; ret = ct_setparam(cmd2, &datafmt, (CS_VOID *) & intvar, &intvarsize, &intvarind); chk(ret == CS_SUCCEED, "ct_setparam(int) failed\n"); chk(ct_send(cmd2) == CS_SUCCEED, "ct_send(CS_EXECUTE) failed\n"); while ((results_ret = ct_results(cmd2, &res_type)) == CS_SUCCEED) { chk(res_type != CS_CMD_FAIL, "1: ct_results() result_type CS_CMD_FAIL.\n"); chk(res_type != CS_COMPUTE_RESULT, "ct_results() unexpected CS_COMPUTE_RESULT.\n"); switch ((int) res_type) { case CS_CMD_SUCCEED: break; case CS_CMD_DONE: break; case CS_ROW_RESULT: datafmt.datatype = CS_CHAR_TYPE; datafmt.format = CS_FMT_NULLTERM; datafmt.maxlength = 256; datafmt.count = 1; datafmt.locale = NULL; ret = ct_bind(cmd2, 1, &datafmt, name, &datalength, &ind); chk(ret == CS_SUCCEED, "ct_bind() failed\n"); while (((ret = ct_fetch(cmd2, CS_UNUSED, CS_UNUSED, CS_UNUSED, &count)) == CS_SUCCEED) || (ret == CS_ROW_FAIL)) { row_count += count; chk(ret != CS_ROW_FAIL, "ct_fetch() CS_ROW_FAIL on row %d.\n", row_count); if (ret == CS_SUCCEED) { chk(!strcmp(name, "Bill"), "fetched value '%s' expected 'Bill'\n", name); } else { break; } } chk(ret == CS_END_DATA, "ct_fetch() unexpected return %d.\n", (int) ret); break; default: fprintf(stderr, "ct_results() unexpected result_type.\n"); return 1; } } chk(results_ret == CS_END_RESULTS, "ct_results() unexpected return.\n", (int) results_ret); intvar = 32; chk(ct_send(cmd2) == CS_SUCCEED, "ct_send(CS_EXECUTE) failed\n"); while ((results_ret = ct_results(cmd2, &res_type)) == CS_SUCCEED) { chk(res_type != CS_CMD_FAIL, "2: ct_results() result_type CS_CMD_FAIL.\n"); chk(res_type != CS_COMPUTE_RESULT, "ct_results() unexpected CS_COMPUTE_RESULT.\n"); switch ((int) res_type) { case CS_CMD_SUCCEED: break; case CS_CMD_DONE: break; case CS_ROW_RESULT: datafmt.datatype = CS_CHAR_TYPE; datafmt.format = CS_FMT_NULLTERM; datafmt.maxlength = 256; datafmt.count = 1; datafmt.locale = NULL; ret = ct_bind(cmd2, 1, &datafmt, name, &datalength, &ind); chk(ret == CS_SUCCEED, "ct_bind() failed\n"); while (((ret = ct_fetch(cmd2, CS_UNUSED, CS_UNUSED, CS_UNUSED, &count)) == CS_SUCCEED) || (ret == CS_ROW_FAIL)) { row_count += count; chk(ret != CS_ROW_FAIL, "ct_fetch() CS_ROW_FAIL on row %d.\n", row_count); if (ret == CS_SUCCEED) { chk(!strcmp(name, "Freddy"), "fetched value '%s' expected 'Freddy'\n", name); } else { break; } } chk(ret == CS_END_DATA, "ct_fetch() unexpected return %d.\n", (int) ret); break; default: fprintf(stderr, "ct_results() unexpected result_type.\n"); return 1; } } chk(results_ret == CS_END_RESULTS, "ct_results() unexpected return.\n", (int) results_ret); ret = ct_dynamic(cmd, CS_DEALLOC, "age", CS_NULLTERM, NULL, CS_UNUSED); chk(ret == CS_SUCCEED, "ct_dynamic failed\n"); chk(ct_send(cmd) == CS_SUCCEED, "ct_send(CS_DEALLOC) failed\n"); while ((ret = ct_results(cmd, &res_type)) == CS_SUCCEED) { switch ((int) res_type) { case CS_CMD_SUCCEED: case CS_CMD_DONE: break; case CS_CMD_FAIL: break; default: goto ERR; } } chk(ret == CS_END_RESULTS, "ct_results() unexpected return.\n", (int) ret); /* * check we can prepare again dynamic with same name after deallocation */ strcpy(cmdbuf, "select name from #ct_dynamic where age = ?"); ret = ct_dynamic(cmd, CS_PREPARE, "age", CS_NULLTERM, cmdbuf, CS_NULLTERM); chk(ret == CS_SUCCEED, "ct_dynamic failed\n"); chk(ct_send(cmd) == CS_SUCCEED, "ct_send(CS_PREPARE) failed\n"); while ((ret = ct_results(cmd, &res_type)) == CS_SUCCEED) { switch ((int) res_type) { case CS_CMD_SUCCEED: case CS_CMD_DONE: break; case CS_CMD_FAIL: break; default: goto ERR; } } chk(ret == CS_END_RESULTS, "ct_results() unexpected return.\n", (int) ret); ct_dynamic(cmd, CS_DEALLOC, "invalid", CS_NULLTERM, NULL, CS_UNUSED); ct_send(cmd); while ((ret = ct_results(cmd, &res_type)) == CS_SUCCEED) chk(res_type != CS_ROW_RESULT, "Rows not expected\n"); chk(ret == CS_END_RESULTS, "ct_results() unexpected return.\n", (int) ret); ret = ct_dynamic(cmd2, CS_EXECUTE, "age", CS_NULLTERM, NULL, CS_UNUSED); chk(ret == CS_SUCCEED, "ct_dynamic failed\n"); intvar = 32; intvarsize = 4; intvarind = 0; datafmt.name[0] = 0; datafmt.namelen = 0; datafmt.datatype = CS_INT_TYPE; datafmt.status = CS_INPUTVALUE; ret = ct_setparam(cmd2, &datafmt, (CS_VOID *) & intvar, &intvarsize, &intvarind); chk(ct_send(cmd2) == CS_SUCCEED, "ct_send(CS_EXECUTE) failed\n"); /* all tests succeeded */ errCode = 0; ERR: cleanup(); return errCode; }
// to save bangla fonts in mySql mysql> set names ‘utf8′; // not necessary mysql> create database bangla character set utf8 collate utf8_general_ci; mysql> use bangla; mysql> create table profile (profile_name varchar(100) character set utf8 collate utf8_general_ci); /* to use it using java, you have to write this: String DB_URL = "jdbc:mysql://localhost/bangla?useUnicode=true&characterEncoding=UTF-8"; see, after the database name i.e. 'bangla', you have to add this: "?useUnicode=true&characterEncoding=UTF-8" that's all. */