public MySqlCommand() { this.designTimeVisible = true; this.cmdType = System.Data.CommandType.Text; this.parameters = new MySqlParameterCollection( this ); this.updatedRowSource = UpdateRowSource.Both; this.cursorPageSize = 0; this.cmdText = string.Empty; this.timedOut = false; }
/// <summary> /// Inserts Or Update Existing Character Into your current Login Server MySql DataBase. /// </summary> /// <param name="character">Your Character Which you want Insert(If Not Exist) Or Update(If Exist)</param> public static void InsertOrUpdate(Character character) { MySqlConnection con = new MySqlConnection(Settings.Default.DataBaseConnectionString); try { con.Open(); MySqlCommand command = null; if (m_DbCharacters.Contains(character)) { command = new MySqlCommand( "UPDATE `characters` SET `id` = @id, `accountid` = @accountid, `worldid` = @worldid, `type` = @type, `charname` = @charname, `charrace` = @charrace, `chargender` = @chargender, `guid` = @guid, `v` = @v" + "WHERE `acharname` = @charname", con); } else { command = new MySqlCommand( "INSERT INTO `characters`(id, accountid, worldid, type, type, charname, charrace, chargender, guid, v)" + "VALUES(@id, @accountid, @worldid, @type, @type, @charname, @charrace, @chargender, @guid, @v)", con); } MySqlParameterCollection parameters = command.Parameters; parameters.Add("@id", MySqlDbType.Int64).Value = character.Id; parameters.Add("@accountid", MySqlDbType.Int64).Value = character.AccountId; parameters.Add("@worldid", MySqlDbType.Byte).Value = character.WorldId; parameters.Add("@type", MySqlDbType.Int32).Value = character.Type; parameters.Add("@charname", MySqlDbType.String).Value = character.CharName; parameters.Add("@charrace", MySqlDbType.Byte).Value = character.CharRace; parameters.Add("@chargender", MySqlDbType.Byte).Value = character.CharGender; parameters.Add("@token", MySqlDbType.String).Value = character.GUID; parameters.Add("@v", MySqlDbType.Int64).Value = character.V; if (m_DbCharacters.Contains(character)) { parameters.Add("@acharname", MySqlDbType.Int64).Value = character.CharName; } command.ExecuteNonQuery(); command = null; } catch (Exception e) { Logger.Trace("Cannot InsertOrUpdate template for " + character.CharName + ": {0}", e); } finally { m_DbCharacters.Add(character); con.Close(); con = null; } }
public static MySqlCommand GetErrorXml(string appName, Guid id) { MySqlCommand command = new MySqlCommand("elmah_GetErrorXml"); command.CommandType = CommandType.StoredProcedure; MySqlParameterCollection parameters = command.Parameters; parameters.Add("Id", MySqlDbType.String, 36).Value = id.ToString(); parameters.Add("App", MySqlDbType.VarChar, _maxAppNameLength).Value = appName.Substring(0, Math.Min(_maxAppNameLength, appName.Length)); return(command); }
public static MySqlParameterCollection AddWithValue( this MySqlParameterCollection parameters, string parameterName, MySqlDbType dbType, object value) { var parameter = new MySqlParameter(parameterName, dbType); parameter.Value = value; parameters.Add(parameter); parameter.ResetDbType(); return(parameters); }
private static void FillParameters(MySqlParameterCollection parameters, BaseModel model) { PropertyInfo[] pinfos = model.GetType().GetProperties(); pinfos.ToList().ForEach(pi => { Attribute sqlParamName = pi.GetCustomAttribute(typeof(SqlParameterNameAttribute)); if (sqlParamName != null) { SqlParameterNameAttribute sqlParameterNameAttribute = (SqlParameterNameAttribute)sqlParamName; parameters.AddWithValue(sqlParameterNameAttribute.ParameterName, pi.GetValue(model)); } }); }
public static void AddWithNullableValue(this MySqlParameterCollection collection, string parameterName, object value) { if (value == null) { collection.AddWithValue(parameterName, DBNull.Value); return; } var type = value.GetType(); var defaultValue = type.IsValueType ? Activator.CreateInstance(type) : null; collection.AddWithValue(parameterName, value.Equals(defaultValue) ? DBNull.Value : value); }
public virtual async Task <int> ExecuteNonQueryAsync(string commandText, MySqlParameterCollection parameterCollection, IOBehavior ioBehavior, CancellationToken cancellationToken) { using (var reader = (MySqlDataReader)await ExecuteReaderAsync(commandText, parameterCollection, CommandBehavior.Default, ioBehavior, cancellationToken).ConfigureAwait(false)) { do { while (await reader.ReadAsync(ioBehavior, cancellationToken).ConfigureAwait(false)) { } } while (await reader.NextResultAsync(ioBehavior, cancellationToken).ConfigureAwait(false)); return(reader.RecordsAffected); } }
public static MySqlParameterCollection AddSlidingExpirationInSeconds( this MySqlParameterCollection parameters, TimeSpan?value) { if (value.HasValue) { return(parameters.AddWithValue( Columns.Names.SlidingExpirationInSeconds, MySqlDbType.Int64, value.Value.TotalSeconds)); } else { return(parameters.AddWithValue(Columns.Names.SlidingExpirationInSeconds, MySqlDbType.Int64, DBNull.Value)); } }
private static MySqlParameterCollection RetornaParametros(MySqlParameterCollection pMySql, List <ParametrosBD> param) { if (param == null || param.Count == 0 || pMySql == null) { return(null); } foreach (ParametrosBD p in param) { pMySql.AddWithValue(p.NomeParametro, p.ValorParametro); } return(pMySql); }
private void AddSqlParamaterValues(MySqlParameterCollection parameters, XmlNode moneyPaymentNode, Dictionary <string, string> logElements, bool updateMode) { foreach (KeyValuePair <string, string> kvp in logElements) { string parameterName = String.Format("@{0}", kvp.Key); string parameterValue = GetXmlValueString(moneyPaymentNode, kvp.Value); //no value then do not add if in update mode if ((updateMode == false) || (parameterValue.Length > 0)) { parameters.AddWithValue(parameterName, parameterValue); } } }
public static MySqlCommand GetErrorsXml(string appName, int pageIndex, int pageSize) { MySqlCommand command = new MySqlCommand("elmah_GetErrorsXml"); command.CommandType = CommandType.StoredProcedure; MySqlParameterCollection parameters = command.Parameters; parameters.Add("App", MySqlDbType.VarChar, _maxAppNameLength).Value = appName.Substring(0, Math.Min(_maxAppNameLength, appName.Length)); parameters.Add("PageIndex", MySqlDbType.Int32).Value = pageIndex; parameters.Add("PageSize", MySqlDbType.Int32).Value = pageSize; parameters.Add("TotalCount", MySqlDbType.Int32).Direction = ParameterDirection.Output; return(command); }
public MySqlParameterCollectionNameToIndexTests() { m_collection = new MySqlParameterCollection { new MySqlParameter { ParameterName = "A", Value = 1 }, new MySqlParameter { ParameterName = "B", Value = 2 }, new MySqlParameter { ParameterName = "C", Value = 3 }, }; }
public static MySqlParameterCollection AddAbsoluteExpirationMono( this MySqlParameterCollection parameters, DateTimeOffset?utcTime) { if (utcTime.HasValue) { return(parameters.AddWithValue( Columns.Names.AbsoluteExpiration, MySqlDbType.DateTime, utcTime.Value.UtcDateTime)); } else { return(parameters.AddWithValue( Columns.Names.AbsoluteExpiration, MySqlDbType.DateTime, DBNull.Value)); } }
public System.Data.DataSet DataSelect(string procedure, MySqlParameterCollection col) { MySqlConnection con = Connection; MySqlDataAdapter adap = new MySqlDataAdapter(target_ + procedure + "_select", con); adap.SelectCommand.CommandType = System.Data.CommandType.StoredProcedure; foreach (MySqlParameter par in col) { adap.SelectCommand.Parameters.Add(par); } System.Data.DataSet ds = new System.Data.DataSet(); adap.Fill(ds); adap.Dispose(); return(ds); }
private PayloadData CreateQueryPayload(string commandText, MySqlParameterCollection parameterCollection) { var statementPreparerOptions = StatementPreparerOptions.None; if (m_command.Connection.AllowUserVariables || m_command.CommandType == CommandType.StoredProcedure) { statementPreparerOptions |= StatementPreparerOptions.AllowUserVariables; } if (m_command.Connection.DateTimeKind == DateTimeKind.Utc) { statementPreparerOptions |= StatementPreparerOptions.DateTimeUtc; } else if (m_command.Connection.DateTimeKind == DateTimeKind.Local) { statementPreparerOptions |= StatementPreparerOptions.DateTimeLocal; } if (m_command.CommandType == CommandType.StoredProcedure) { statementPreparerOptions |= StatementPreparerOptions.AllowOutputParameters; } switch (m_command.Connection.GuidFormat) { case MySqlGuidFormat.Char36: statementPreparerOptions |= StatementPreparerOptions.GuidFormatChar36; break; case MySqlGuidFormat.Char32: statementPreparerOptions |= StatementPreparerOptions.GuidFormatChar32; break; case MySqlGuidFormat.Binary16: statementPreparerOptions |= StatementPreparerOptions.GuidFormatBinary16; break; case MySqlGuidFormat.TimeSwapBinary16: statementPreparerOptions |= StatementPreparerOptions.GuidFormatTimeSwapBinary16; break; case MySqlGuidFormat.LittleEndianBinary16: statementPreparerOptions |= StatementPreparerOptions.GuidFormatLittleEndianBinary16; break; } var preparer = new StatementPreparer(commandText, parameterCollection, statementPreparerOptions); return(new PayloadData(preparer.ParseAndBindParameters(), isPooled: true)); }
void AddInsertOrUpdateParams(MySqlParameterCollection paramCollection) { paramCollection.Add("Name", MySqlType.VarChar, NameSize); paramCollection.Add("DisplayedName", MySqlType.VarChar, DisplayedNameSize); paramCollection.Add("LastSeen", DateType); paramCollection.Add("Rank", MySqlType.SmallInt); paramCollection.Add("PreviousRank", MySqlType.SmallInt); paramCollection.Add("RankChangeType", MySqlType.TinyInt); paramCollection.Add("RankChangeDate", DateType); paramCollection.Add("RankChangedBy", MySqlType.VarChar, ByFieldSize); paramCollection.Add("RankChangeReason", MySqlType.VarChar, ReasonFieldSize); paramCollection.Add("BanStatus", MySqlType.TinyInt); paramCollection.Add("BanDate", DateType); paramCollection.Add("BannedBy", MySqlType.VarChar, ByFieldSize); paramCollection.Add("BanReason", MySqlType.VarChar, ReasonFieldSize); paramCollection.Add("BannedUntil", DateType); paramCollection.Add("LastFailedLoginDate", DateType); paramCollection.Add("LastFailedLoginIP", MySqlType.Int); paramCollection.Add("UnbanDate", DateType); paramCollection.Add("UnbannedBy", MySqlType.VarChar, ByFieldSize); paramCollection.Add("UnbanReason", MySqlType.VarChar, ReasonFieldSize); paramCollection.Add("FirstLoginDate", DateType); paramCollection.Add("LastLoginDate", DateType); paramCollection.Add("TotalTime", MySqlType.Int); paramCollection.Add("BlocksBuilt", MySqlType.Int); paramCollection.Add("BlocksDeleted", MySqlType.Int); paramCollection.Add("BlocksDrawn", MySqlType.BigInt); paramCollection.Add("TimesVisited", MySqlType.Int); paramCollection.Add("MessagesWritten", MySqlType.Int); paramCollection.Add("TimesKickedOthers", MySqlType.Int); paramCollection.Add("TimesBannedOthers", MySqlType.Int); paramCollection.Add("TimesKicked", MySqlType.Int); paramCollection.Add("LastKickDate", DateType); paramCollection.Add("LastKickBy", MySqlType.VarChar, ByFieldSize); paramCollection.Add("LastKickReason", MySqlType.VarChar, ReasonFieldSize); paramCollection.Add("IsFrozen", MySqlType.TinyInt, 1); paramCollection.Add("FrozenOn", DateType); paramCollection.Add("FrozenBy", MySqlType.VarChar, ByFieldSize); paramCollection.Add("MutedUntil", DateType); paramCollection.Add("MutedBy", MySqlType.VarChar, ByFieldSize); paramCollection.Add("Password", MySqlType.VarChar, PasswordFieldSize); paramCollection.Add("LastModified", DateType); paramCollection.Add("IsOnline", MySqlType.TinyInt, 1); paramCollection.Add("IsHidden", MySqlType.TinyInt, 1); paramCollection.Add("LastIP", MySqlType.Int); paramCollection.Add("LeaveReason", MySqlType.TinyInt); paramCollection.Add("BandwidthUseMode", MySqlType.TinyInt); }
internal MySqlParameterCollection AlignParamsWithDb(MySqlParameterCollection?parameterCollection) { var alignedParams = new MySqlParameterCollection(); var returnParam = parameterCollection?.FirstOrDefault(x => x.Direction == ParameterDirection.ReturnValue); foreach (var cachedParam in Parameters) { MySqlParameter alignParam; if (cachedParam.Direction == ParameterDirection.ReturnValue) { alignParam = returnParam ?? throw new InvalidOperationException($"Attempt to call stored function {FullyQualified} without specifying a return parameter"); } else { var index = parameterCollection?.NormalizedIndexOf(cachedParam.Name) ?? -1; alignParam = index >= 0 ? parameterCollection ![index] : throw new ArgumentException($"Parameter '{cachedParam.Name}' not found in the collection.");
/* * Sometimes the number of parameters in the stored procedure count doesn't * match the nummber of columns in the table. This function can be overriden * in those cases. Two examples of this are the Series and Books. */ public bool AddParameterToCommand(MySqlCommand cmd, string ParameterName) { bool success = true; int tableIndex = getParameterIndex(ParameterName); if (tableIndex >= 0) { MySqlParameterCollection parameters = cmd.Parameters; success = _sqlCmdParameters[tableIndex].AddParameterToCommand(cmd); } else { success = false; } return(success); }
public static MySqlParameterCollection AddCacheItemValue(this MySqlParameterCollection parameters, byte[] value) { if (value != null && value.Length < DefaultValueColumnWidth) { return(parameters.AddWithValue( Columns.Names.CacheItemValue, MySqlDbType.VarBinary, DefaultValueColumnWidth, value)); } else { // do not mention the size return(parameters.AddWithValue(Columns.Names.CacheItemValue, MySqlDbType.VarBinary, value)); } }
public virtual async Task <object> ExecuteScalarAsync(string commandText, MySqlParameterCollection parameterCollection, IOBehavior ioBehavior, CancellationToken cancellationToken) { object result = null; using (var reader = (MySqlDataReader)await ExecuteReaderAsync(commandText, parameterCollection, CommandBehavior.SingleResult | CommandBehavior.SingleRow, ioBehavior, cancellationToken).ConfigureAwait(false)) { do { if (await reader.ReadAsync(ioBehavior, cancellationToken).ConfigureAwait(false)) { result = reader.GetValue(0); } } while (await reader.NextResultAsync(ioBehavior, cancellationToken).ConfigureAwait(false)); } return(result); }
internal static void AddQuery(string Query, MySqlParameterCollection Params) { ActiveQueries.Add(Query.Trim()); if (Settings.LoggingEnabled) { string Output = "Query " + GetActiveQueryCount + ": " + Query + "\n\n"; foreach (MySqlParameter p in Params) { Output += " [" + p.ParameterName + "][" + p.Value + "]\n"; } System.Diagnostics.Debug.WriteLine(Output); Console.WriteLine(Output); } }
/// <summary> /// 将Request里的参数转成SqlParameter[] /// </summary> /// <returns></returns> internal static void RequestParasToSqlParameters(MySqlParameterCollection oldParas) { var oldParaList = oldParas.Cast <MySqlParameter>().ToList(); var paraDictionarAll = SqlSugarTool.GetParameterDictionary(); if (paraDictionarAll != null && paraDictionarAll.Count() > 0) { foreach (KeyValuePair <string, string> it in paraDictionarAll) { var par = new MySqlParameter("@" + it.Key, it.Value); if (!oldParaList.Any(oldPara => oldPara.ParameterName == ("@" + it.Key))) { oldParas.Add(par); } } } }
public void Bug16307() { st.execSQL("DROP TABLE IF EXISTS Test"); st.execSQL("CREATE TABLE Test (OrgNum int auto_increment, CallReportNum int, Stamp varchar(50), " + "WasRealCall varchar(50), WasHangup varchar(50), primary key(orgnum))"); string strSQL = "INSERT INTO Test(OrgNum, CallReportNum, Stamp, WasRealCall, WasHangup) " + "VALUES (?OrgNum, ?CallReportNum, ?Stamp, ?WasRealCall, ?WasHangup)"; MySqlCommand cmd = new MySqlCommand(strSQL, st.conn); MySqlParameterCollection pc = cmd.Parameters; pc.Add("?OrgNum", MySqlDbType.Int32, 0, "OrgNum"); pc.Add("?CallReportNum", MySqlDbType.Int32, 0, "CallReportNum"); pc.Add("?Stamp", MySqlDbType.VarChar, 0, "Stamp"); pc.Add("?WasRealCall", MySqlDbType.VarChar, 0, "WasRealCall"); pc.Add("?WasHangup", MySqlDbType.VarChar, 0, "WasHangup"); MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", st.conn); da.InsertCommand = cmd; DataSet ds = new DataSet(); da.Fill(ds); DataRow row = ds.Tables[0].NewRow(); row["CallReportNum"] = 1; row["Stamp"] = "stamp"; row["WasRealCall"] = "yes"; row["WasHangup"] = "no"; ds.Tables[0].Rows.Add(row); da.Update(ds.Tables[0]); strSQL = "SELECT @@IDENTITY AS 'Identity';"; MySqlCommand cmd2 = new MySqlCommand(strSQL, st.conn); using (MySqlDataReader reader = cmd2.ExecuteReader()) { reader.Read(); int intCallNum = Int32.Parse(reader.GetValue(0).ToString()); Assert.Equal(1, intCallNum); } }
public void EnumParametersAreParsedCorrectly(MySqlDbType?type, object value, string replacedValue) { const string sql = "SELECT @param;"; var parameters = new MySqlParameterCollection(); var parameter = new MySqlParameter("@param", value); if (type is not null) { parameter.MySqlDbType = type.Value; } parameters.Add(parameter); var parsedSql = GetParsedSql(sql, parameters); Assert.Equal(sql.Replace("@param", replacedValue), parsedSql); }
internal static void ConvertParameters(MySQLDataStoreBase store, MySqlParameterCollection pars) { if (pars == null) { return; } for (var i = 0; i < pars.Count; i++) { var par = pars[i]; MySqlDbType?convertedDbType; par.Value = CLRValueToDB(store, par.Value, out convertedDbType); if (convertedDbType.HasValue) { par.MySqlDbType = convertedDbType.Value; } } }
private static void AddQueryParameters(ReadCommand command, MySqlParameterCollection parameters) { var pkNames = GetPkNames(command.TableSchema); for (var i = 0; i < pkNames.Count; i++) { parameters.AddWithValue($"from_{i}", command.FromPrimaryKey[i]); } if (command.ToPrimaryKey != null) { for (var i = 0; i < pkNames.Count; i++) { parameters.AddWithValue($"to_{i}", command.ToPrimaryKey[i]); } } }
/// <summary> /// Adds a nullable value to the end of the <see cref="System.Data.SqlClient.SqlParameterCollection" /> /// </summary> /// <param name="parameters">The <see cref="System.Data.SqlClient.SqlParameterCollection" /> to add the value</param> /// <param name="parameterName">The name of the parameter</param> /// <param name="value">The nullable value to be added</param> public static void AddOrSetWithNullableValue(this MySqlParameterCollection parameters, string parameterName, object value) { if (parameters.Contains(parameterName)) { if (value == null || (value is string && (string.IsNullOrEmpty((string)value)))) { parameters[parameterName].Value = DBNull.Value; } else { parameters[parameterName].Value = value; } } else { AddWithNullableValue(parameters, parameterName, value); } }
private static void ApplySecurity(MySqlCommand command, MySqlParameterCollection parameterTypes) { foreach (MySqlParameter parameter in parameterTypes) { if (parameter.DbType == DbType.AnsiString) { string parameterName = parameter.ParameterName.Replace(parameterPrefix, "").ToLower(); foreach (MySqlParameter commandParameter in command.Parameters) { if ((commandParameter.ParameterName.Replace(parameterPrefix, "").ToLower() == parameterName) && ((commandParameter.Value != null) && (commandParameter.Value != DBNull.Value))) { commandParameter.Value = forbiddenVarchars.Replace(commandParameter.Value.ToString(), forbiddenVarcharsReplacement); } } } } }
GetMySqlConnectionAndCommand ( String connectionString, String storedProcedureName, Int32 commandTimeoutSeconds, out MySqlConnection mySqlConnection, out MySqlCommand mySqlCommand, params Object [] nameValuePairs ) { Debug.Assert(!String.IsNullOrEmpty(connectionString)); Debug.Assert(!String.IsNullOrEmpty(storedProcedureName)); Debug.Assert(commandTimeoutSeconds > 0); Debug.Assert(nameValuePairs.Length % 2 == 0); mySqlConnection = new MySqlConnection(connectionString); mySqlCommand = new MySqlCommand(storedProcedureName, mySqlConnection); mySqlCommand.CommandType = CommandType.StoredProcedure; mySqlCommand.CommandTimeout = commandTimeoutSeconds; MySqlParameterCollection parameters = mySqlCommand.Parameters; for (Int32 i = 0; i < nameValuePairs.Length; i += 2) { Debug.Assert(nameValuePairs[i + 0] is String); String name = (String)nameValuePairs[i + 0]; Debug.Assert(!String.IsNullOrEmpty(name)); Debug.Assert(name[0] == '@'); Object value = nameValuePairs[i + 1]; if (value == null) { // You cannot set a MySqlParameter to null. It must be // DBNull.Value. value = DBNull.Value; } parameters.AddWithValue(name, value); } }
public DataTable RequestSelect(string request, List <MySqlParameter> pms = null, int Timeout = 0, MySqlTransaction transaction = null) { DataTable dt = new DataTable(); using (MySqlConnection connection = this.getConnection()) { if (connection.ConnectionString == "" && connection.State != ConnectionState.Open) { connection.ConnectionString = connectionString; } MySqlCommand sqlCmd = new MySqlCommand(request, connection); sqlCmd.Connection.Open(); sqlCmd.CommandType = CommandType.Text; sqlCmd.CommandTimeout = Timeout; if (transaction != null) { sqlCmd.Transaction = transaction; } //Ajouter des parametres if (pms != null) { MySqlParameterCollection sqlParameters = (MySqlParameterCollection)sqlCmd.Parameters; foreach (MySqlParameter item in pms) { sqlParameters.Add(item); } } MySqlDataAdapter sda = new MySqlDataAdapter(); sda.SelectCommand = sqlCmd; sda.Fill(dt); sda.Dispose(); sqlCmd.Connection.Close(); } return(dt); }
/// <summary> /// Inserts Or Update Existing Account Into your current Login Server MySql DataBase. /// </summary> /// <param name="account">Your Account Which you want Insert(If Not Exist) Or Update(If Exist)</param> public static void InsertOrUpdate(Account account) { MySqlConnection con = new MySqlConnection(Settings.Default.DataBaseConnectionString); try { con.Open(); MySqlCommand command = null; if (m_DbAccounts.Contains(account)) { command = new MySqlCommand("UPDATE `accounts` SET `id` = @id, `name` = @name, `mainaccess` = @mainaccess, `useraccess` = @useraccess, `last_ip` = @lastip, `password` = @password, `token` = @token, `last_online` = @lastonline, `characters` = @characters WHERE `id` = @aid", con); } else { command = new MySqlCommand("INSERT INTO `accounts`(id, name, mainaccess, useraccess, last_ip, password, last_online, characters) VALUES(@id, @name, @mainaccess, @useraccess, @lastip, @password, @lastonline, @characters)", con); } MySqlParameterCollection parameters = command.Parameters; parameters.Add("@id", MySqlDbType.Int32).Value = account.AccountId; parameters.Add("@name", MySqlDbType.String).Value = account.Name; parameters.Add("@mainaccess", MySqlDbType.Byte).Value = account.AccessLevel; parameters.Add("@useraccess", MySqlDbType.Byte).Value = account.Membership; parameters.Add("@lastip", MySqlDbType.String).Value = account.LastIp; parameters.Add("@password", MySqlDbType.String).Value = account.Token; parameters.Add("@token", MySqlDbType.String).Value = account.Password; parameters.Add("@lastonline", MySqlDbType.Int64).Value = account.LastEnteredTime; if (m_DbAccounts.Contains(account)) { parameters.Add("@aid", MySqlDbType.Int32).Value = account.AccountId; } parameters.Add("@characters", MySqlDbType.Int32).Value = account.Characters; command.ExecuteNonQuery(); command = null; } finally { m_DbAccounts.Add(account); con.Close(); con = null; } }
void AddInsertOrUpdateParams( MySqlParameterCollection paramCollection ) { paramCollection.Add( "Name", MySqlType.VarChar, NameSize ); paramCollection.Add( "DisplayedName", MySqlType.VarChar, DisplayedNameSize ); paramCollection.Add( "LastSeen", DateType ); paramCollection.Add( "Rank", MySqlType.SmallInt ); paramCollection.Add( "PreviousRank", MySqlType.SmallInt ); paramCollection.Add( "RankChangeType", MySqlType.TinyInt ); paramCollection.Add( "RankChangeDate", DateType ); paramCollection.Add( "RankChangedBy", MySqlType.VarChar, ByFieldSize ); paramCollection.Add( "RankChangeReason", MySqlType.VarChar, ReasonFieldSize ); paramCollection.Add( "BanStatus", MySqlType.TinyInt ); paramCollection.Add( "BanDate", DateType ); paramCollection.Add( "BannedBy", MySqlType.VarChar, ByFieldSize ); paramCollection.Add( "BanReason", MySqlType.VarChar, ReasonFieldSize ); paramCollection.Add( "BannedUntil", DateType ); paramCollection.Add( "LastFailedLoginDate", DateType ); paramCollection.Add( "LastFailedLoginIP", MySqlType.Int ); paramCollection.Add( "UnbanDate", DateType ); paramCollection.Add( "UnbannedBy", MySqlType.VarChar, ByFieldSize ); paramCollection.Add( "UnbanReason", MySqlType.VarChar, ReasonFieldSize ); paramCollection.Add( "FirstLoginDate", DateType ); paramCollection.Add( "LastLoginDate", DateType ); paramCollection.Add( "TotalTime", MySqlType.Int ); paramCollection.Add( "BlocksBuilt", MySqlType.Int ); paramCollection.Add( "BlocksDeleted", MySqlType.Int ); paramCollection.Add( "BlocksDrawn", MySqlType.BigInt ); paramCollection.Add( "TimesVisited", MySqlType.Int ); paramCollection.Add( "MessagesWritten", MySqlType.Int ); paramCollection.Add( "TimesKickedOthers", MySqlType.Int ); paramCollection.Add( "TimesBannedOthers", MySqlType.Int ); paramCollection.Add( "TimesKicked", MySqlType.Int ); paramCollection.Add( "LastKickDate", DateType ); paramCollection.Add( "LastKickBy", MySqlType.VarChar, ByFieldSize ); paramCollection.Add( "LastKickReason", MySqlType.VarChar, ReasonFieldSize ); paramCollection.Add( "IsFrozen", MySqlType.TinyInt, 1 ); paramCollection.Add( "FrozenOn", DateType ); paramCollection.Add( "FrozenBy", MySqlType.VarChar, ByFieldSize ); paramCollection.Add( "MutedUntil", DateType ); paramCollection.Add( "MutedBy", MySqlType.VarChar, ByFieldSize ); paramCollection.Add( "Password", MySqlType.VarChar, PasswordFieldSize ); paramCollection.Add( "LastModified", DateType ); paramCollection.Add( "IsOnline", MySqlType.TinyInt, 1 ); paramCollection.Add( "IsHidden", MySqlType.TinyInt, 1 ); paramCollection.Add( "LastIP", MySqlType.Int ); paramCollection.Add( "LeaveReason", MySqlType.TinyInt ); paramCollection.Add( "BandwidthUseMode", MySqlType.TinyInt ); }
private bool SerializeParameter(MySqlParameterCollection parameters, MySqlStream stream, string parmName) { MySqlParameter parameterFlexible = parameters.GetParameterFlexible(parmName, false); if (parameterFlexible == null) { if (!parmName.StartsWith("@") || !this.ShouldIgnoreMissingParameter(parmName)) { throw new MySqlException(string.Format(Resources.ParameterMustBeDefined, parmName)); } return false; } parameterFlexible.Serialize(stream, false); return true; }
private void InternalBindParameters(string sql, MySqlParameterCollection parameters, MySqlStream stream) { ArrayList list = this.TokenizeSql(sql); if (stream == null) { stream = new MySqlStream(this.Driver.Encoding); stream.Version = this.Driver.Version; } string str = (string) list[list.Count - 1]; if (str != ";") { list.Add(";"); } foreach (string str2 in list) { if (str2.Trim().Length == 0) { continue; } if (str2 == ";") { this.buffers.Add(stream); stream = new MySqlStream(this.Driver.Encoding); continue; } if (((str2.Length < 2) || (((str2[0] != '@') || (str2[1] == '@')) && (str2[0] != '?'))) || !this.SerializeParameter(parameters, stream, str2)) { stream.WriteStringNoNull(str2); } } }