OleDbConnectionや、OleDbDataAdapterのコントロールを使わずに
dropdownlistにDBにある列の値を設定したいとき、どうしたらいいでしょうか。
自分のコード
' 接続
Dim conn As New System.Data.OleDb.OleDbConnection( _
"Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Database Password=;Data Source=""C:\Inetpub\Database\情報DB.mdb"";Password=;Jet OLEDB:Engine Type=5;Jet OLEDB:Global Bulk Transactions=1;Provider=""Microsoft.Jet.OLEDB.4.0"";Jet OLEDB:System database=;Jet OLEDB:SFP=False;Extended Properties=;Mode=Share Deny None;Jet OLEDB:New Database Password=;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;User ID=Admin;Jet OLEDB:Encrypt Database=False")
strTerminal = "SELECT * FROM [コード]"
Dim dt1 As New System.Data.DataSet
''端末コードデータコピーする
If Not IsPostBack Then
adapterTerminal.Fill(dt1)
ddl1.DataSource = dt1
ddl1.DataMember = "[コード]"
ddl1.DataTextField = "[名称]"
ddl1.DataBind()
end If
実行しても、コンボボックスには空のまま><
設定方法くわしい方教えてください。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
> なにかの設定間違ってるんでしょうか
> よろしくお願いします。
DropDownList コントロールの DataSource プロパティに DataSet を設定しているようですが、DataSet は複数の DataTable 等を含むコンテナですので、DataTable を設定するようにしてみてください。
ddlTerminalAssortment.DataSource = dsTerminal.Tables(0)
ただこういう単純なデータアクセスでは、DataSet を使うよりも DataReader を使った方が高速であると言われています。
Dim cmd As New System.Data.OleDb.OleDbCommand(strSql, conn)
cmd.Connection.Open()
Dim rd As System.Data.OleDb.OleDbDataReader = cmd.ExecuteReader()
DropDownList1.DataSource = rd
DropDownList1.DataMember = "m02"
DropDownList1.DataTextField = "m03"
DropDownList1.DataBind()
cmd.Connection.Close()
No.2
- 回答日時:
> コンボボックスとデータベースの連結は一般どんな方法使うのでしょうか
バージョンにもよるのですが、
<ASP.NET 2.0 以前>
Connection オブジェクトを生成して接続文字列を設定。
Command オブジェクトを生成してデータを取得する SELECT コマンドを設定。(場合によっては Parameter を使って検索条件を指定したりも)
DataReader オブジェクトに Command オブジェクトの実行結果を突っ込む。
DropDownList コントロールの Items.Add で DataReader を ListItem に変換したものを追加する。
http://yunet.2.pro.tok2.com/contents/aspnet_db/i …
<ASP.NET 2.0>
DataSource コントロールを使う。
http://www.atmarkit.co.jp/fdotnet/asp2review/asp …
http://msdn2.microsoft.com/ja-jp/library/66xcbb9 …
この回答への補足
回答ありがとうございます。
こちらは
Dim conn As New System.Data.OleDb.OleDbConnection("Jet OLEDB:Database Password=;Data Source=""C:\Inetpub\wwwroot\Database\情報表DB.mdb"";Password=;Jet OLEDB:Engine Type=5;Jet OLEDB:Global Bulk Transactions=1;Provider=""Microsoft.Jet.OLEDB.4.0"";")
ページロードイベント
strSql= "SELECT * FROM[テーブル名]"
''抽出したデータを取り出す
Dim adapterTerminal As New System.Data.OleDb.OleDbDataAdapter(strSql, conn)
Dim dsTerminal As New System.Data.DataSet
Dim adapterTerminal As New System.Data.OleDb.OleDbDataAdapter(strSql, conn)
adapterTerminal.Fill(dsTerminal)
ddlTerminalAssortment.DataSource = dsTerminal
ddlTerminalAssortment.DataMember = "コード"
ddlTerminalAssortment.DataTextField = "名称"
dlTerminalAssortment.DataBind()
で表示できませんでした。
なにかの設定間違ってるんでしょうか
よろしくお願いします。
No.1
- 回答日時:
> OleDbConnectionや、OleDbDataAdapterのコントロールを使わずに
> dropdownlistにDBにある列の値を設定したいとき、どうしたらいいでしょうか。
ちょっとその真意が理解できないのでコレについては飛ばします。
試せる環境が手元にないので何とも言えないのですが、
DataAdapter の Select コマンドに SQL 文(strTerminal) や Connection (conn)を設定してないようですが?
この回答への補足
Dim adapterTerminal As New System.Data.OleDb.OleDbDataAdapter(strTerminal, conn)は設定していました。
記入漏れです。すみません。
コンボボックスとデータベースの連結は一般どんな方法使うのでしょうか
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ヒーター・こたつ・ホットカーペット こたつのコードで、yuasaとjetって互換性ありますか? 1 2022/12/04 15:11
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 数式が消える 1 2023/03/19 16:55
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- 音楽・動画 音楽データ(MP3)をダウンロードし、iPhoneのファイルに保存、jet audio というアプリ 1 2023/04/06 22:16
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル入力規制リスト行数
-
ACCESS2010 ActiveXコントロー...
-
ADOのCursorLocationプロパティ
-
エクセルの画像にツールチップ...
-
Wordテキストコントロールが未...
-
MFCでbitmapを背景にしてstatic...
-
MSHFlexGrid および MSFlexGrid...
-
コンボボックスの高さを変更し...
-
C# のテキストボックスデザイン...
-
ExcelテキストボックスのTab順...
-
パソコンへの「Dropbox...
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
worksheetFunctionクラスのVloo...
-
実行時エラー 438になった時の...
-
C#,vb.netで業務用アプリ開発と...
-
ExcelVBAのコントロールの種類...
-
VBAで既に開いている別アプリケ...
-
C#で角が丸いテキストボックス
-
ExcelVBAのユーザーフォームの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックス(VBA)でEnter...
-
ADOのCursorLocationプロパティ
-
Wordテキストコントロールが未...
-
エクセルの画像にツールチップ...
-
ACCESS2010 ActiveXコントロー...
-
ユーザーフォームに日付を表示...
-
C# TEXTが空白であるLABELは何...
-
コンボボックスの高さを変更し...
-
VBからエクセルのテキストボ...
-
VB.NETで縦書表示をしたいので...
-
エクセル入力規制リスト行数
-
DataGridViewで行の展開みたい...
-
チェックボックスの文字色の変え方
-
デザインモードを解除すると消...
-
VB6でLabelの最前面にText Box...
-
Enabled=Falseのテキストボック...
-
C# アプリ終了時に設定を記憶...
-
PictureBoxの背景色変更(VB.NET)
-
checkbox付きListViewで デフ...
-
VC++のエディットボックスの非表示
おすすめ情報