示例#1
0
        /// <summary>
        /// Save database entities.
        /// </summary>
        public virtual void SaveEntites(IList <DbEntity> entities)
        {
            SQLiteParameter[] parms = { new SQLiteParameter("@Id",       DbType.Guid),
                                        new SQLiteParameter("@Provider", DbType.Int32),
                                        new SQLiteParameter("@Type",     DbType.Int32),
                                        new SQLiteParameter("@IP",       DbType.String,128),
                                        new SQLiteParameter("@Port",     DbType.Int32),
                                        new SQLiteParameter("@Uid",      DbType.String, 50),
                                        new SQLiteParameter("@Password", DbType.String, 50),
                                        new SQLiteParameter("@Name",     DbType.String, 128) };

            using (var conn = new SQLiteConnection(dataConnectionString)) {
                if (conn.State != ConnectionState.Open)
                {
                    conn.Open();
                }
                using (var command = new SQLiteCommand(SQLiteText.Registry_Save_Entities, conn)) {
                    foreach (var entity in entities)
                    {
                        parms[0].Value = entity.Id;
                        parms[1].Value = (Int32)entity.Provider;
                        parms[2].Value = (Int32)entity.Type;
                        parms[3].Value = DbTypeConverter.DBNullStringChecker(entity.IP);
                        parms[4].Value = DbTypeConverter.DBNullInt32Checker(entity.Port);
                        parms[5].Value = DbTypeConverter.DBNullStringChecker(entity.Uid);
                        parms[6].Value = DbTypeConverter.DBNullStringChecker(entity.Password);
                        parms[7].Value = DbTypeConverter.DBNullStringChecker(entity.Name);

                        command.Parameters.Clear();
                        command.Parameters.AddRange(parms);
                        command.ExecuteNonQuery();
                    }
                }
            }
        }
示例#2
0
        /// <summary>
        /// Gets database entities.
        /// </summary>
        /// <returns>all the database entities.</returns>
        public virtual IList <DbEntity> GetEntites()
        {
            var entities = new List <DbEntity>();

            using (var conn = new SQLiteConnection(dataConnectionString)) {
                if (conn.State != ConnectionState.Open)
                {
                    conn.Open();
                }
                using (var command = new SQLiteCommand(SQLiteText.Registry_Get_Entities, conn)) {
                    using (var rdr = command.ExecuteReader(CommandBehavior.CloseConnection)) {
                        while (rdr.Read())
                        {
                            entities.Add(new DbEntity()
                            {
                                Id       = DbTypeConverter.DBNullGuidHandler(rdr["Id"]),
                                Provider = DbTypeConverter.DBNullDataProviderHandler(rdr["Provider"]),
                                Type     = DbTypeConverter.DBNullDatabaseTypeHandler(rdr["Type"]),
                                IP       = DbTypeConverter.DBNullStringHandler(rdr["IP"]),
                                Port     = DbTypeConverter.DBNullInt32Handler(rdr["Port"]),
                                Uid      = DbTypeConverter.DBNullStringHandler(rdr["Uid"]),
                                Password = DbTypeConverter.DBNullStringHandler(rdr["Password"]),
                                Name     = DbTypeConverter.DBNullStringHandler(rdr["Name"])
                            });
                        }
                    }
                }
            }
            return(entities);
        }