Commit 4c6f5b95 authored by Nick Craver's avatar Nick Craver

Merge branch 'jdaigle-master'

parents c2ed1f40 bf6404f5
......@@ -2794,37 +2794,40 @@ public static void PackListParameters(IDbCommand command, string namePrefix, obj
var count = 0;
bool isString = value is IEnumerable<string>;
bool isDbString = value is IEnumerable<DbString>;
DbType dbType = 0;
foreach (var item in list)
DbType dbType = 0;
if (list != null)
{
if (count++ == 0)
foreach (var item in list)
{
ITypeHandler handler;
dbType = LookupDbType(item.GetType(), "", true, out handler);
}
var listParam = command.CreateParameter();
listParam.ParameterName = namePrefix + count;
if (isString)
{
listParam.Size = DbString.DefaultLength;
if (item != null && ((string)item).Length > DbString.DefaultLength)
if (count++ == 0)
{
listParam.Size = -1;
ITypeHandler handler;
dbType = LookupDbType(item.GetType(), "", true, out handler);
}
}
if (isDbString && item as DbString != null)
{
var str = item as DbString;
str.AddParameter(command, listParam.ParameterName);
}
else
{
listParam.Value = SanitizeParameterValue(item);
if (listParam.DbType != dbType)
var listParam = command.CreateParameter();
listParam.ParameterName = namePrefix + count;
if (isString)
{
listParam.Size = DbString.DefaultLength;
if (item != null && ((string) item).Length > DbString.DefaultLength)
{
listParam.Size = -1;
}
}
if (isDbString && item as DbString != null)
{
var str = item as DbString;
str.AddParameter(command, listParam.ParameterName);
}
else
{
listParam.DbType = dbType;
listParam.Value = SanitizeParameterValue(item);
if (listParam.DbType != dbType)
{
listParam.DbType = dbType;
}
command.Parameters.Add(listParam);
}
command.Parameters.Add(listParam);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment