当前位置: 首页>>代码示例>>C#>>正文


C# SQLiteDataReader.GetName方法代码示例

本文整理汇总了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)
                {
//.........这里部分代码省略.........
开发者ID:venci17,项目名称:mooege,代码行数:101,代码来源:PersistenceManager.cs

示例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;
        }
开发者ID:bdcravens,项目名称:DiceBot,代码行数:37,代码来源:sqlite_helper.cs

示例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++;
     }
 }
开发者ID:xiy,项目名称:suprmrkt,代码行数:23,代码来源:SQLiteController.cs

示例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;
		}
开发者ID:saycale,项目名称:MSSQLServerAuditor,代码行数:26,代码来源:QueryRow.cs


注:本文中的System.Data.SQLite.SQLiteDataReader.GetName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。