|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /*
- License: http://www.apache.org/licenses/LICENSE-2.0
- Home page: http://code.google.com/p/dapper-dot-net/
-
- Note: to build on C# 3.0 + .NET 3.5, include the CSHARP30 compiler symbol (and yes,
- I know the difference between language and runtime versions; this is a compromise).
- */
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Linq;
- using System.Reflection;
- using System.Reflection.Emit;
- using System.Text;
- using System.Threading;
- using System.Text.RegularExpressions;
-
- namespace RDH.Data
- {
-
-
- public sealed class DbString
- {
- public DbString() { Length = -1; }
- public bool IsAnsi { get; set; }
- public bool IsFixedLength { get; set; }
- public int Length { get; set; }
- public string Value { get; set; }
- public void AddParameter(IDbCommand command, string name)
- {
- if (IsFixedLength && Length == -1)
- {
- throw new InvalidOperationException("If specifying IsFixedLength, a Length must also be specified");
- }
- var param = command.CreateParameter();
- param.ParameterName = name;
- param.Value = (object)Value ?? DBNull.Value;
- if (Length == -1 && Value != null && Value.Length <= 4000)
- {
- param.Size = 4000;
- }
- else
- {
- param.Size = Length;
- }
- param.DbType = IsAnsi ? (IsFixedLength ? DbType.AnsiStringFixedLength : DbType.AnsiString) : (IsFixedLength ? DbType.StringFixedLength : DbType.String);
- command.Parameters.Add(param);
- }
- }
- }
|