本文整理汇总了C#中System.Data.SQLite.SQLiteDataReader.GetName方法的典型用法代码示例。如果您正苦于以下问题:C# SQLiteDataReader.GetName方法的具体用法?C# SQLiteDataReader.GetName怎么用?C# SQLiteDataReader.GetName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.SQLite.SQLiteDataReader
的用法示例。
在下文中一共展示了SQLiteDataReader.GetName方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Load
/// <summary>
/// Loads properties of an object from the passed reader. For inlined properties, the parent reader is passed
/// </summary>
/// <param name="o">Object to be filled with data</param>
/// <param name="parent">Parent type that has the id for inlined classes</param>
/// <param name="reader">Reader from which to take the data</param>
/// <param name="embeddedPrefix">Prefix for 'inlined' properties (complex types)</param>
private static void Load(object o, Type parent, SQLiteDataReader reader, string embeddedPrefix = "")
{
// -50% loading time
var readerCache = new Hashtable();
for (int i = 0; i < reader.FieldCount; i++)
readerCache.Add(reader.GetName(i), reader[i]);
var data = readerCache;
//var data = reader;
foreach (var property in PersistentProperty.GetPersistentProperties(o.GetType(), embeddedPrefix, parent))
{
string entryId = data["Id"].ToString();
// Load generic lists by finding the mn-mapping table and loading every entry recursivly
if (property.IsGenericList)
{
using (var cmd = new SQLiteCommand(String.Format(genericListsql, property.RelationTableName, property.ListType.Name, parent == null ? o.GetType().Name : parent.Name, entryId), DBManager.MPQMirror))
{
var itemReader = cmd.ExecuteReader();
var list = Activator.CreateInstance(property.Type);
if (itemReader.HasRows)
{
while (itemReader.Read())
{
var item = Activator.CreateInstance(property.ListType);
Load(item, null, itemReader);
(list as IList).Add(item);
}
}
property.Property.SetValue(o, list, null);
}
continue;
}
// Load generic dictionaires by finding the mn-mapping table and loading every entry recursivly
if (property.IsGenericDictionary)
{
using (var cmd = new SQLiteCommand(String.Format(genericListsql, property.RelationTableName, property.ListType.Name, parent == null ? o.GetType().Name : parent.Name, entryId), DBManager.MPQMirror))
{
var itemReader = cmd.ExecuteReader();
var dictionary = Activator.CreateInstance(property.Type);
if (itemReader.HasRows)
{
while (itemReader.Read())
{
var item = Activator.CreateInstance(property.ListType);
Load(item, null, itemReader);
(dictionary as IDictionary).Add(Convert.ChangeType(itemReader["Key"], property.Type.GetGenericArguments()[0]), item);
}
}
property.Property.SetValue(o, dictionary, null);
}
continue;
}
// load scalar types
if (property.Type.Namespace == "System")
{
// load array of scalar types. The column name of the i-th array entry is "columnName_i"
if (property.Type.IsArray)
{
if (property.ArrayCount == -1)
{
byte[] blob = StringToByteArray(data[property.ColumnName].ToString().Replace("-", ""));
property.Property.SetValue(o, blob, null);
}
else
{
Array vals = (Array)Activator.CreateInstance(property.Type, property.ArrayCount);
for (int i = 0; i < vals.Length; i++)
{
vals.SetValue(Convert.ChangeType(data[property.ColumnName + "_" + i.ToString()], property.Type.GetElementType()), i);
}
property.Property.SetValue(o, vals, null);
}
}
else
{
property.Property.SetValue(o, Convert.ChangeType(data[property.ColumnName], property.Type), null);
}
continue;
}
// load enums
if (property.Type.IsEnum)
{
//.........这里部分代码省略.........
示例2: BetParser
static Bet BetParser(SQLiteDataReader Reader)
{
string site = "";
Bet tmp = new Bet();
for (int i = 0; i< Reader.FieldCount; i++)
{
switch (Reader.GetName(i))
{
case "betid": tmp.Id = (long)Reader[i]; break;
case "date": tmp.date = (DateTime)Reader[i]; break;
case "stake": tmp.Amount = (decimal)Reader[i]; break;
case "profit": tmp.Profit = (decimal)Reader[i]; break;
case "chance": tmp.Chance = (decimal)Reader[i]; break;
case "high": tmp.high = (short)Reader[i] == 1; break;
case "lucky": tmp.Roll = (decimal)Reader[i]; break;
case "hash": tmp.serverhash = (string)Reader[i]; break;
case "nonce": tmp.nonce = (long)Reader[i]; break;
case "uid": tmp.uid = (int)Reader[i]; break;
case "Client": tmp.clientseed = (string)Reader[i]; break;
case "server": tmp.serverseed = (string)Reader[i]; break;
case "site": site = (string)Reader[i]; break;
}
}
if (!string.IsNullOrEmpty(tmp.serverseed) && tmp.nonce != -1 && !string.IsNullOrEmpty(tmp.clientseed) && tmp.Roll!=-1 && site!="")
{
switch (site)
{
case "JustDice": tmp.Verified = tmp.Roll == (decimal)DiceSite.sGetLucky(tmp.serverseed, tmp.clientseed, (int)tmp.nonce); break;
case "PrimeDice": tmp.Verified = tmp.Roll == (decimal)PD.sGetLucky(tmp.serverseed, tmp.clientseed, (int)tmp.nonce); break;
case "999Dice": tmp.Verified = tmp.Roll== (decimal)dice999.sGetLucky(tmp.serverseed, (tmp.clientseed), (int)tmp.nonce, /*(long)(tmp.Roll*10000m),*/ tmp.serverhash); break;
//case "SafeDice": tmp.Verified = tmp.Roll == (decimal)SD.sGetLucky(tmp.serverseed, tmp.clientseed, (int)tmp.nonce); break;
//case "PRC": tmp.Verified = tmp.Roll == (decimal)PD.sGetLucky(tmp.serverseed, tmp.clientseed, (int)tmp.nonce); break;
}
}
return tmp;
}
示例3: Analyse
/// <summary>
/// Analyses the SQLiteDataReader passed to it, filling the
/// Rows collection using the column name and it's respective value
/// for each row returned.
/// </summary>
/// <param name="reader">The SQLiteDataReader object containing the results of a query.</param>
public void Analyse(SQLiteDataReader reader)
{
int currentRow = 0;
while (reader.Read())
{
if (reader.HasRows)
{
Dictionary<string, object> columns = new Dictionary<string, object>();
for (int i = 0; i < reader.FieldCount; i++)
{
columns.Add(reader.GetName(i), reader.GetValue(i));
}
this.Rows.Add(currentRow, columns);
}
currentRow++;
}
}
示例4: 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;
}