int Account::DoUserRegister(Register ®ister_,Db &db,int playerId){ char sql[256]; time_t now_time; now_time = time(NULL); int forbid_login_time = 0; char nick[48] = "\0"; //nick.assign(register_.nick.name,register_.nick.len); int a = register_.nick.len; memcpy(nick,register_.nick.name,register_.nick.len); char phone[12] = "\0"; //phone.assign(register_.phone,register_.phone_len); memcpy(phone,register_.phone,register_.phone_len); char address_1[512] = "\0"; memcpy(address_1,register_.address1,register_.address1_len); char address_2[512] = "\0"; memcpy(address_2,register_.address2,register_.address2_len); char address_3[512] = "\0"; memcpy(address_3,register_.address3,register_.address3_len); sprintf_s(sql, "insert into playerInfo values(%d, \'%s\', %d, %d, %d, \'%s\', \'%s\', \'%s\', \'%s\');", playerId,nick,register_.age,int(now_time),forbid_login_time,phone,address_1,address_2,address_3); string sql_find_nick = "select player_id from playerInfo where nick = \'" + (string)nick + "\'"; char sql_updatePlayerId[256]; sprintf_s(sql_updatePlayerId,"update playerMaxId set player_max_id = %d",playerId); db.ReadDb(sql_find_nick); if (db.nRow == 1) { db.freeTableData(); return kSameNick; }else{ db.freeTableData(); db.WriteDb(sql); db.WriteDb(sql_updatePlayerId); } return kSucess; }
void connectDb(Db &db){ db.OpenDb(); bool result = db.CreateTable("Create Table playerMaxId(player_max_id int)"); if (result) { db.WriteDb("insert into playerMaxId values(0)"); p::playerMaxId = 0; }else{ bool result = db.ReadDb("select player_max_id from playerMaxId"); if (result) { std::string str = db.pazResult[db.nCol]; p::playerMaxId = std::atoi(str.c_str()); db.freeTableData(); } } db.CreateTable("create table playerInfo(player_id int primary key,nick varchar(18),age int,register_time int,forbid_login_time int,phone varchar(12),address1 varchar(512),address2 varchar(512),address3 varchar(512))"); }