共有するファイルを扱う場合はデータをAccessに(3) C#の場合
2016/06/11
[ad#top-1]
前回同様、Accessを用意します。前回と全く同じ「名前」「年齢」「出身地」で構成されたデータベースです。テーブル名も前回と同じ「名簿」。
C#の場合、最初にOleDbをインポートする必要があります。
using System.Data.OleDb;
また、Excelみたいに表示する場合はあらかじめDataGridViewなどを設置しておきます。以下は設置例。
DataGridView table = new DataGridView(){
Dock = DockStyle.Fill,
ColumnCount = 3,
AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill,
Parent = this,
};
table.Columns[0].HeaderText = “名前”;
table.Columns[1].HeaderText = “年齢”;
table.Columns[2].HeaderText = “出身地”;
Dock = DockStyle.Fill,
ColumnCount = 3,
AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill,
Parent = this,
};
table.Columns[0].HeaderText = “名前”;
table.Columns[1].HeaderText = “年齢”;
table.Columns[2].HeaderText = “出身地”;
以下がAccessから読み込んでDataGridViewに表示させる方法です。
OleDbConnection conn = new OleDbConnection();
try{
conn.ConnectionString = “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database2.accdb”;
conn.Open();
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText = “SELECT * FROM 名簿 WHERE 年齢>=30”;
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read()){
table.Rows.Add(reader[“名前”].ToString(),
reader[“年齢”].ToString(),
reader[“出身地”].ToString());
}
conn.Close();
}catch{
MessageBox.Show(“読込エラー”);
conn.Close();
}
try{
conn.ConnectionString = “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database2.accdb”;
conn.Open();
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText = “SELECT * FROM 名簿 WHERE 年齢>=30”;
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read()){
table.Rows.Add(reader[“名前”].ToString(),
reader[“年齢”].ToString(),
reader[“出身地”].ToString());
}
conn.Close();
}catch{
MessageBox.Show(“読込エラー”);
conn.Close();
}
実行すると以下のようになります。(Form全体のプログラムは省略しています。)
前回同様に、Accessに保存されているはずの「山田太郎」さんのデータが現れていませんが、これは、「年齢>=30」という感じで年齢を30歳以上というフィルターをかけているからです。
[ad#ad-1]
スポンサーリンク