/// <summary> /// 注册新用户 /// </summary> /// <param name="member">member实体对象,引用参数</param> /// <returns></returns> public static bool MemberReg(ref Member member) { bool succ = false; try { QQWryLocator qqWry = new QQWryLocator(qqwryPath); IPLocation location = qqWry.Query(member.RegIP); member.RegLocation = location.Location; member.RegISP = location.ISP; } catch (Exception e) { Utility.WriteEntry(e.ToString()); } using (MySqlProvider mp = new MySqlProvider(aConn)) { using (MySqlTransaction trans = mp.pConnection.BeginTransaction()) { using (MySqlCommand cmd = mp.GetCommand()) { cmd.Transaction = trans; try { cmd.CommandText = "INSERT INTO account (Account,Password,Gender,Born,Type,RegDate,RegIP,RegLocation,RegISP,Status) value (@Account,@Password,@Gender,@Born,@Type,@RegDate,@RegIP,@RegLocation,@RegISP,@Status);SELECT LAST_INSERT_ID(); "; cmd.Parameters.Add("@Account", MySqlDbType.VarChar).Value = member.Account; cmd.Parameters.Add("@Password", MySqlDbType.VarChar).Value = member.Password; cmd.Parameters.Add("@Gender", MySqlDbType.UInt16).Value = member.Gender; cmd.Parameters.Add("@Born", MySqlDbType.Date).Value = member.Born.ToString("yyyy-MM-dd"); cmd.Parameters.Add("@Type", MySqlDbType.UInt16).Value = member.Type; cmd.Parameters.Add("@RegDate", MySqlDbType.DateTime).Value = DateTime.Now; cmd.Parameters.Add("@RegIP", MySqlDbType.VarChar).Value = member.RegIP; cmd.Parameters.Add("@RegLocation", MySqlDbType.VarChar).Value = member.RegLocation; cmd.Parameters.Add("@RegISP", MySqlDbType.VarChar).Value = member.RegISP; cmd.Parameters.Add("@Status", MySqlDbType.UInt16).Value = member.Status; int id = 0; int.TryParse(mp.ExecuteScalar(cmd), out id); member.AccountID = id; cmd.Parameters.Clear(); cmd.CommandText = "INSERT INTO account_info (AccountID,Email,Mobile,RealName,IdType,IdCard) value (@AccountID,@Email,@Mobile,@RealName,@IdType,@IdCard)"; cmd.Parameters.Add("@AccountID", MySqlDbType.Int32).Value = member.AccountID; //cmd.Parameters.Add("@RealName", MySqlDbType.VarChar).Value = member.RealName; //cmd.Parameters.Add("@CityID", MySqlDbType.Int32).Value = member.CityID; //cmd.Parameters.Add("@Address", MySqlDbType.VarChar).Value = member.Address; //cmd.Parameters.Add("@SchoolID", MySqlDbType.Int32).Value = member.SchoolID; //cmd.Parameters.Add("@EntranceYear", MySqlDbType.Int32).Value = member.EntranceYear; //cmd.Parameters.Add("@ClassNo", MySqlDbType.Int32).Value = member.ClassNo; cmd.Parameters.Add("@Email", MySqlDbType.VarChar).Value = member.Email; cmd.Parameters.Add("@Mobile", MySqlDbType.VarChar).Value = member.Mobile; cmd.Parameters.Add("@RealName", MySqlDbType.VarChar).Value = member.RealName; cmd.Parameters.Add("@IdType", MySqlDbType.VarChar).Value = member.IdType; cmd.Parameters.Add("@IdCard", MySqlDbType.VarChar).Value = member.IdCard; mp.ExecuteNonQuery(cmd); if ((member.CurriculumType != (int)CurriculumType.UNINIT) && member.Type == (int)MemberType.Kid) { cmd.Parameters.Clear(); cmd.CommandText = "INSERT INTO account_function(AccountID,CurriculumType) value(@AccountID,@CurriculumType)"; cmd.Parameters.Add("@AccountID", MySqlDbType.Int32).Value = member.AccountID; cmd.Parameters.Add("@CurriculumType", MySqlDbType.Int32).Value = member.CurriculumType; mp.ExecuteNonQuery(cmd); } trans.Commit(); succ = true; } catch (MySqlException e) { string msg = e.Message; try { trans.Rollback(); } catch (MySqlException ex) { msg = msg + ";" + ex.Message; } finally { Utility.WriteEntry("注册新用户:" + msg); } } } } } return succ; }