Поиск по этому блогу

среда, 9 ноября 2011 г.

Создание DataSet и его представления DataGrid Run-Time

C#
Пример. Cоздать dataset, добавить в него таблицу, и показать данные в Grid'e Run-Time



// попытка создать соединение
string conString = @"data source=C:\sqllite\bd\meta.s3db";
SQLiteConnection cnn = new SQLiteConnection(conString);
try {cnn.Open(); }
catch (Exception er){
//string errmsg = er.Message;
Program.Log("Error", er.Message);
}

if (cnn.State == System.Data.ConnectionState.Open)
{
//"Есть связь";
DataTable dt = new DataTable(); // создаем новую таблицу
dt.TableName = "connection"; // даем имя
// Добавляем колонки
DataColumn dt_column;
dt_column = new DataColumn();
dt_column.DataType = Type.GetType("System.Int32");
dt_column.ColumnName = "ID";
dt_column.ReadOnly = true;
dt.Columns.Add(dt_column);

dt_column = new DataColumn();
dt_column.DataType = Type.GetType("System.String");
dt_column.ColumnName = "имя";
dt.Columns.Add(dt_column);

dt_column = new DataColumn();
dt_column.DataType = Type.GetType("System.String");
dt_column.ColumnName = "строка";
dt.Columns.Add(dt_column);

// сам запрос
string sql = "Select * from conn";//textBox1.Text;
SQLiteCommand mycommand = new SQLiteCommand(cnn);
mycommand.CommandText = sql;
try {
SQLiteDataReader reader = mycommand.ExecuteReader();
dt.Load(reader); // грузим данные
}
catch (Exception er)
{
Program.Log("Error", er.Message);
}
cnn.Close();
// создаем новый Dataset
DataSet ds = new DataSet();
// добавляем в него таблицу
ds.Tables.Add(dt);
// теперь связать DataSet и BindingSource
BindingSource bind_ds = new BindingSource();
bind_ds.DataSource = ds;
bind_ds.DataMember = "connection";
// а теперь связываем dataGridView2 и BindingSource
dataGridView2.DataSource = bind_ds;

}
else { textBox1.Text = "Связи нет"; }