2013-12-02 7 views
0

У меня есть задача проверить базу данных для обновленных полей, первичных ключей, внешних ключей, ограничений и триггеров. И если некоторые изменения обновляют таблицы. Я нашел такую ​​вещь Schema, но у меня есть информационное письмо (только поля и первичные ключи). Может предлагать, как получить дополнительную информацию из базы данных или другим способом. Спасибо!Получить структуру базы данных

SQLiteConnection sql_con = new SQLiteConnection("Data Source=Test.db;Version=3;New=False;Compress=True;"); 
sql_con.Open(); 

SQLiteCommand sql_cmd = sql_con.CreateCommand(); 
sql_cmd.CommandText = "select * from Clients"; 
SQLiteDataReader myReader = sql_cmd.ExecuteReader(); 

DataTable schema = myReader.GetSchemaTable(); 
foreach (DataRow row in schema.Rows) 
{ 
    foreach (DataColumn col in schema.Columns) 
    { 
     MessageBox.Show(col.ColumnName + " = " + row[col]+"\n"+ 
      "Null value allowed: " + col.AllowDBNull); 
    } 
} 

ответ

1

В SQLite базы данных, у вас есть вся информация о схеме с помощью таблицы sqlite_master системы.

+0

Где я могу найти sqlite_master? – Zuhan

+0

Вы можете получить к нему доступ, как и любую другую таблицу в базе данных: 'SELECT * FROM sqlite_master' –

Смежные вопросы