/// <summary>
 /// 添加查询参数
 /// </summary>
 /// <param name="command">The command.</param>
 /// <param name="parameter">The parameter.</param>
 /// <param name="value">The value.</param>
 protected override void AddParameter(DbCommand command, QueryParameter parameter, object value)
 {
     QueryType qt = parameter.QueryType;
     if (qt == null)
         qt = this.provider.Language.TypeSystem.GetColumnType(parameter.Type);
     var p = ((OleDbCommand)command).Parameters.Add(parameter.Name, this.GetOleDbType(qt), qt.Length);
     if (qt.Precision != 0)
         p.Precision = (byte)qt.Precision;
     if (qt.Scale != 0)
         p.Scale = (byte)qt.Scale;
     p.Value = value ?? DBNull.Value;
 }
 protected override void AddParameter(DbCommand command, QueryParameter parameter, object value)
 {
     DbQueryType sqlType = (DbQueryType)parameter.QueryType;
     if (sqlType == null)
         sqlType = (DbQueryType)this.provider.Language.TypeSystem.GetColumnType(parameter.Type);
     var p = ((MySqlCommand)command).Parameters.Add(parameter.Name, ToMySqlDbType(sqlType.SqlDbType), sqlType.Length);
     if (sqlType.Precision != 0)
         p.Precision = (byte)sqlType.Precision;
     if (sqlType.Scale != 0)
         p.Scale = (byte)sqlType.Scale;
     p.Value = value ?? DBNull.Value;
 }
 /// <summary>
 /// Adds the parameter.
 /// </summary>
 /// <param name="command">The command.</param>
 /// <param name="parameter">The parameter.</param>
 /// <param name="value">The value.</param>
 protected override void AddParameter(DbCommand command, QueryParameter parameter, object value)
 {
     DbQueryType sqlType = (DbQueryType)parameter.QueryType;
     if (sqlType == null)
         sqlType = (DbQueryType)this.Provider.Language.TypeSystem.GetColumnType(parameter.Type);
     int len = sqlType.Length;
     if (len == 0 && DbTypeSystem.IsVariableLength(sqlType.SqlDbType))
     {
         len = Int32.MaxValue;
     }
     var p = ((SqlCommand)command).Parameters.Add("@" + parameter.Name, sqlType.SqlDbType, len);
     if (sqlType.Precision != 0)
         p.Precision = (byte)sqlType.Precision;
     if (sqlType.Scale != 0)
         p.Scale = (byte)sqlType.Scale;
     p.Value = value ?? DBNull.Value;
 } 
 protected override void AddParameter(DbCommand command, QueryParameter parameter, object value)
 {
     QueryType qt = parameter.QueryType;
     if (qt == null)
         qt = this.provider.Language.TypeSystem.GetColumnType(parameter.Type);
     var p = ((SQLiteCommand)command).Parameters.Add(parameter.Name, ((DbQueryType)qt).DbType, qt.Length);
     if (qt.Length != 0)
     {
         p.Size = qt.Length;
     }
     else if (qt.Scale != 0)
     {
         p.Size = qt.Scale;
     }
     p.Value = value ?? DBNull.Value;
 }