非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

共有するファイルを扱う場合はデータを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 = “出身地”;

以下が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();
}

実行すると以下のようになります。(Form全体のプログラムは省略しています。)
前回同様に、Accessに保存されているはずの「山田太郎」さんのデータが現れていませんが、これは、「年齢>=30」という感じで年齢を30歳以上というフィルターをかけているからです。

 
 
[ad#ad-1]

スポンサーリンク

 - C#応用編