コード例 #1
0
 /// <summary>
 /// 设置当前条件的各个属性。
 /// </summary>
 /// <param name="name">当前条件的参数名。</param>
 /// <param name="flag">当前条件的比较运算符。当使用In运算符时,参数的值请使用<see cref="InTextBuilder"/>类型定义,参数类型请使用String。</param>
 /// <param name="dbType">当前条件的参数类型。</param>
 /// <param name="value">当前条件的参数的值。</param>
 public void Set(string name, SQLText.CompareOperation flag, DbType dbType, object value)
 {
     this.Set(name, flag, dbType, value, name);
 }
コード例 #2
0
 /// <summary>
 /// 设置当前条件的各个属性。
 /// </summary>
 /// <param name="name">当前条件的参数名。</param>
 /// <param name="flag">当前条件的比较运算符。当使用In运算符时,参数的值请使用<see cref="InTextBuilder"/>类型定义,参数类型请使用String。</param>
 /// <param name="dbType">当前条件的参数类型。</param>
 /// <param name="value">当前条件的参数的值。</param>
 /// <param name="tmpltName">当前条件的参数的模板字符串。不设置就是当前条件的参数名加上"@"前缀。</param>
 public void Set(string name, SQLText.CompareOperation flag, DbType dbType, object value, string tmpltName)
 {
     if (SQLText.RegexParamName.IsMatch(name))//简单防止SQL注入
     {
         return;
     }
     if (flag == SQLText.CompareOperation.In)//当使用In子句时,Value必需是SQLTextBuilder.InTextBuilder类型。
     {
         if (!(value is SQLInTextBuilder))
         {
             throw new SQLTextBuilderException(Messages.SQLTextBuilderError_In);
         }
     }
     this.CompareOperationFlag = SQLText.CompareOperationFlags[(int)flag];
     this.ParameterName = name;
     this.DbType = dbType;
     this.Value = value;
     this.TemplateSqlTextName = tmpltName;
 }
コード例 #3
0
 /// <summary>
 /// 通过一个逻辑运算符(<see cref="LogicOperation"/>)给本类型连接一个逻辑条件。
 /// </summary>
 /// <param name="logicOper">一个逻辑运算符。</param>
 /// <param name="txtBuilder">一个逻辑条件。</param>
 public void Add(SQLText.LogicOperation logicOper, SQLWhereTextBuilder txtBuilder)
 {
     Operaters.Add(SQLText.LogicOperationFlags[(int)logicOper]);
     Conditions.Add(txtBuilder);
 }