C#で、データベースの内容をテキストボックスに表示する
C#で、データベースの内容をテキストボックスに表示する
C#で何とかデータベース(ACCESSのaccdbファイル)につなぐことができた。
見よう見まねで何とか進んできたが、データベースの1行の内容を表示するのでつまづいた。
「C# データベース テキストボックス」で検索したところ、何件か出てきた。
「よし!」思い、何件か挑戦するが、初心者の私にはどれも難しすぎて断念
唯一、簡単そうだったのかこれ
http://oshiete.goo.ne.jp/qa/2734657.html
SqlDataReader dr = cmd.ExecuteReader();
dr.GetValue(0)
dr.GetValue(1)
dr.GetValue(2)
データベースがaccdbなのでSqlDataReaderをSystem.Data.OleDb.OleDbDataReaderに変え
いざ挑戦・・・あれ!
エラーでる。
こうなると初心者はお手上げである。
プログラムになれている人にとってはなんてことない内容なのでしょうが
初心者の私には、根本的に何が問題かもわからない状態だ。
オブジェクトがストリングに変換できない。
ならキャストとしたのですが、やり方が悪いらしく・・・NG
何とも情けない話です。
そこで、「C# オブジェクトをストリングに変換」としてググってみたら
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1318424703
このような方法が・・・なるほど
object obj = "test";
string s1 = (string)obj;
string s2 = Convert.ToString(obj);
これで、何とか解決できました。
仮に私のような初心者がいた場合に、一発で参考になれますように、
ソースを記述しておきます。
private void Form5_Load(object sender, EventArgs e)
{
label1.Text = Form4.ttc;
System.Data.OleDb.OleDbCommand com;
System.Data.OleDb.OleDbConnection cn = new System.Data.OleDb.OleDbConnection(
"Provider=Microsoft.ACE.OLEDB.12.0;"
+ "Data Source=C:¥¥DATA¥¥Database1.accdb; ");
cn.Open();
com = new System.Data.OleDb.OleDbCommand("SELECT * FROM kaisya WHERE ID=1", cn);
System.Data.OleDb.OleDbDataReader dr = com.ExecuteReader();
if(dr.Read())
{
textBox2.Text = Convert.ToString(dr.GetValue(0));
textBox3.Text = Convert.ToString(dr.GetValue(1));
}
dr.Close();
cn.Close();
}
また、一つ賢くなったようです。
- 2015.07.18 Saturday
- プログラム
- 08:24
- -
- trackbacks(0)
- -
- -
- by すっき