本文整理汇总了C#中System.Data.SQLite.SQLiteDataReader.GetFieldType方法的典型用法代码示例。如果您正苦于以下问题:C# SQLiteDataReader.GetFieldType方法的具体用法?C# SQLiteDataReader.GetFieldType怎么用?C# SQLiteDataReader.GetFieldType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.SQLite.SQLiteDataReader
的用法示例。
在下文中一共展示了SQLiteDataReader.GetFieldType方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: printToConsole
public string printToConsole(SQLiteDataReader readerDB, int index)
{
if (readerDB.IsDBNull(index))
{
//return "NULL";
return "";
}
else
{
String dataObject = readerDB.GetFieldType(index).ToString();
switch (dataObject)
{
case "System.Int32":
return readerDB.GetInt32(index).ToString();
case "System.DateTime":
DateTime date = readerDB.GetDateTime(index);
return Convert.ToString(date);
case "System.String":
return readerDB.GetString(index);
default:
return "Unknown";
}
}
}
示例2: ReadValue
public static void ReadValue(SQLiteDataReader reader, int index, TypeStorage type, ICdlValueWriter writer)
{
switch (type)
{
case TypeStorage.Boolean:
writer.SetBoolean(reader.GetInt32(index) != 0);
break;
case TypeStorage.Byte:
writer.SetByte((byte) reader.GetInt32(index));
break;
case TypeStorage.Int16:
writer.SetInt16((short) reader.GetInt32(index));
break;
case TypeStorage.Int32:
writer.SetInt32((int) reader.GetInt32(index));
break;
case TypeStorage.Int64:
writer.SetInt64((long) reader.GetInt64(index));
break;
case TypeStorage.SByte:
writer.SetSByte((sbyte) reader.GetInt32(index));
break;
case TypeStorage.UInt16:
writer.SetUInt16((ushort) reader.GetInt32(index));
break;
case TypeStorage.UInt32:
writer.SetUInt32((uint) reader.GetInt32(index));
break;
case TypeStorage.UInt64:
writer.SetUInt64((ulong) reader.GetInt64(index));
break;
case TypeStorage.DateTime:
writer.SetDateTime(DateTime.Parse(reader.GetString(index), CultureInfo.InvariantCulture));
//writer.SetDateTime(DateTime.ParseExact(reader.GetString(index), "s", CultureInfo.InvariantCulture));
break;
case TypeStorage.DateTimeEx:
writer.SetDateTimeEx(DateTimeEx.ParseNormalized(reader.GetString(index)));
break;
case TypeStorage.DateEx:
writer.SetDateEx(DateEx.ParseNormalized(reader.GetString(index)));
break;
case TypeStorage.TimeEx:
writer.SetTimeEx(TimeEx.ParseNormalized(reader.GetString(index)));
break;
case TypeStorage.Decimal:
{
var dtype = reader.GetFieldType(index);
decimal value;
if (dtype == typeof (string))
{
value = Decimal.Parse(reader.GetString(index), CultureInfo.InvariantCulture);
}
else
{
value = (decimal) reader.GetDouble(index);
}
writer.SetDecimal(value);
}
break;
case TypeStorage.Float:
writer.SetFloat((float) reader.GetDouble(index));
break;
case TypeStorage.Double:
writer.SetDouble((double) reader.GetDouble(index));
break;
case TypeStorage.String:
writer.SetString(reader.GetString(index));
break;
case TypeStorage.Guid:
writer.SetGuid(new Guid(reader.GetString(index)));
break;
case TypeStorage.ByteArray:
writer.SetByteArray((byte[]) reader.GetValue(index));
break;
case TypeStorage.Null:
writer.SetNull();
break;
default:
throw new Exception("DBSH-00167 Unsupported field type:" + type.ToString());
}
}
示例3: Read
public static QueryRow Read(SQLiteDataReader reader)
{
var result = new QueryRow();
reader.GetValues();
for (var i = 0; i < reader.FieldCount; i++)
{
result.queryDefinition.Fields.Add(
reader.GetName(i),
new FieldDefinition(
reader.GetName(i),
reader.GetFieldType(i).ToSqlDbType(),
false,
false
)
);
result.values.Add(
reader.GetName(i),
reader.GetValue(i)
);
}
return result;
}