■6168 / inTopicNo.1) |
ACCESSのデータを個々のテキストボックスに表示する |
□投稿者/ まさ 二等兵(13回)-(2006/08/31(Thu) 11:26:33)
|
分類:[C#]
分類:[C#]
いつも拝見してます。 私はACCESSのデータの検索結果をテキストボックスに表示する方法について、
@データアダプタ構成ウィザードを用いる方法 AOleDataReaderを用いてする方法
の2つの観点ですることとなりました。
ただ@の場合、
odaSyain.SelectCommand.Parameters["iSyainNo"].Value = No.Text;//パラメータクエリを用いてiSyainNoとNoテキストが一致する項目を抽出する。SELECTコマンドは(SELECT iSyainNo, sSyainNm, iSyainAge FROM SYAIN WHERE (iSyainNo = ?) ORDER BY iSyainNo) odaSyain.Fill(dsSample1,"SYAIN");//データセットの内容を表示 とし、Noテキストでリターンキーを押下して検索すると、抽出はできましたが次回以降の検索は不可能になりました。なのでレコードの追加や更新、削除もできません。
Aの場合、
1からコネクションオブジェクトを用いてしてみました。
System.Data.OleDb.OleDbConnection cn = new System.Data.OleDb.OleDbConnection(); System.Data.OleDb.OleDbCommand cmd; System.Data.OleDb.OleDbDataReader dr;
// 接続文字列を設定してデータベースに接続する cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=M:\\KENSYUUDB_VB.mdb"; cn.Open();
// [SYAIN]テーブルのレコード内容を取得する cmd = new System.Data.OleDb.OleDbCommand( "SELECT iSyainNo,sSyainNm,iSyainAge FROM SYAIN WHERE iSyainNo = ?", cn); dr = cmd.ExecuteReader();
// 取得した内容を[出力]ウィンドウに表示する while(dr.Read()) { System.Diagnostics.Debug.Write(dr.GetString(0) + "\t"); System.Diagnostics.Debug.WriteLine(dr.GetString(1)); }
// OleDbDataReaderを閉じて、データベースへの接続を切断する dr.Close(); cn.Close();
ですがサンプルではできましたが、SELECT文でのハンドラエラーが出ます。文は合っているはずなのにずっとわからない状態です。SQL文も確認しましたが、検索結果を個々のテキストボックスに表示するやり方が、
http://park5.wakwak.com/~weblab/selectOne.html
を見て、C#形式に直してもSQL文でエラーが出ます。
すみませんがよろしくお願いします。
|
0
|