Пример #1
0
        protected virtual TableSchema GetSchema(string table)
        {
            var columns = new List <TableSchema.ColumnDefinition>();

            using (var cmd = SQLiteAdhocCommand.UsingSmartConnection(myConfig.ConnectionString)
                             .WithSql(SQLiteStatement.Create("PRAGMA table_info('{0}')", table)))
            {
                using (var reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var def = new TableSchema.ColumnDefinition
                        {
                            Name       = reader["name"].ToString(),
                            Type       = reader["type"].ToString(),
                            IsNullable = Convert.ToBoolean(reader["notnull"])
                        };
                        columns.Add(def);
                    }
                }
            }

            return(new TableSchema
            {
                Columns = columns.AsReadOnly()
            });
        }
Пример #2
0
        protected virtual TableSchema GetSchema(string table)
        {
            var columns = new List <TableSchema.ColumnDefinition>();

            using (var cmd = SqlServerAdhocCommand.UsingSmartConnection(myConfig.ConnectionString)
                             .WithSql(SqlServerStatement.Create("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '{0}'", table)))
            {
                using (var reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var def = new TableSchema.ColumnDefinition
                        {
                            Name       = reader["COLUMN_NAME"].ToString(),
                            Type       = reader["DATA_TYPE"].ToString(),
                            IsNullable =
                                (string.Compare(reader["IS_NULLABLE"].ToString(), "yes", true) == 0)
                        };
                        columns.Add(def);
                    }
                }
            }

            return(new TableSchema
            {
                Columns = columns.AsReadOnly()
            });
        }
Пример #3
0
        protected virtual TableSchema GetSchema(string table)
        {
            var columns = new List<TableSchema.ColumnDefinition>();

            using (var cmd = SqlServerAdhocCommand.UsingSmartConnection(_config.ConnectionString)
                .WithSql(SqlServerStatement.Create("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '{0}'", table)))
            {
                using (var reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var def = new TableSchema.ColumnDefinition
                                      {
                                          Name = reader["COLUMN_NAME"].ToString(),
                                          Type = reader["DATA_TYPE"].ToString(),
                                          IsNullable =
                                              (string.Compare(reader["IS_NULLABLE"].ToString(), "yes", true) == 0)
                                      };
                        columns.Add(def);
                    }
                }
            }

            return new TableSchema
            {
                Columns = columns.AsReadOnly()
            };
        }
Пример #4
0
        protected virtual TableSchema GetSchema(string table)
        {
            var columns = new List<TableSchema.ColumnDefinition>();

            using (var cmd = SQLiteAdhocCommand.UsingSmartConnection(myConfig.ConnectionString)
                .WithSql(SQLiteStatement.Create("PRAGMA table_info('{0}')", table)))
            {
                using (var reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var def = new TableSchema.ColumnDefinition
                                      {
                                          Name = reader["name"].ToString(),
                                          Type = reader["type"].ToString(),
                                          IsNullable = Convert.ToBoolean(reader["notnull"])
                                      };
                        columns.Add(def);
                    }
                }
            }

            return new TableSchema
                       {
                           Columns = columns.AsReadOnly()
                       };
        }