電子書籍の厳選無料作品が豊富!

SQL文のSELECTで読み、配列に取り込みたく、下記のプログラム作成しましたがエラー『ExecuteReader: Connection プロパティは初期化されていません。』が出て困っています。 どこで、どのように設定すればよいのでしょうか?
Private Function Sosiki_kouzou() As String()()
Dim Sosiki_tbl2(3)() As String
Dim Dread As Data.OleDb.OleDbDataReader
Dim Com As New Data.OleDb.OleDbCommand
Com = New Data.OleDb.OleDbCommand("SELECT
ORG_ID,SHORT_OU_JA, PARENT_ORG_ID FROM meldandy.WF_ORGANIZATION")
Dread = Com.ExecuteReader
Dim Cnt1 As Integer
Cnt1 = 0
Do While (Dread.Read())
Cnt1 = Cnt1 + 1
Sosiki_tbl2(1)(Cnt1) = Dread.GetString(1)
Sosiki_tbl2(2)(Cnt1) = Dread.GetString(2)
Sosiki_tbl2(3)(Cnt1) = Dread.GetString(3)
Loop
Return Sosiki_tbl2
End Function
VisualStadioを始めたばかりの素人です。
的外れかも知れませんがよろしくお願いいたします。

A 回答 (3件)

>デザインで設定した時に、下記が作成されました。


とありますが、これは静的にGridViewを配置した時の接続情報ではないでしょうか?

liberty533さんが実現したいことは、
「『Sosiki_kouzou()』の内部で動的にDBに接続してSQLを発行し、データを取得する」ということであるように見受けられます。

そうだとすると、PrintScreeさんが指摘されている通り、
「Sosiki_kouzou()」の内部で「Connectionプロパティを使用して、データベースへログインする必要がある」ということになります。

下記、参考になりますでしょうか?
http://hanatyan.sakura.ne.jp/bbs/wforum.cgi?no=4 …
http://jeanne.wankuma.com/tips/sqlserver/open.html

それとご使用の環境は、VB.NET(ASP.NET?)であるように見受けられますが、
OS、
開発環境とそのバージョン、
今回の例では使用するDBの種類(Access、Oracle、SQLServer、PostgreSQL、MySQL等)とそのバージョン
を明記すると、より明確な回答が得られるかと思われます。
    • good
    • 0

DBは?



一般的には
1.DBオブジェクト作成
2.DBコネクション設定
3.DBオープン
4.SQL発効等の作業
5.4で作成したレコードセットオブジェクトなどの破棄
6.DBクローズ
7.DBオブジェクト破棄
という手順を踏むと思います。

って、まぁDBも環境もわからんので、なんともいえないんですが・・・(^^;;;
    • good
    • 1
この回答へのお礼

解りました。
どうも、ありがとうございました。
もう少し、基礎を勉強してみます。

お礼日時:2006/09/15 15:56

使用しているデータベースは何でしょう?



いきなりSQLを発行してもエラーになるのは当然です。その前に、データベースへ接続する必要があります。

Connectionプロパティを使用して、データベースへログインする必要があると思います。
※データベースが何かわからないので、的外れな事を言っているかもしれません。

この回答への補足

早速の回答ありがとうございます。
デザインで設定した時に、下記が作成されました。 <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:meldandyConnectionString %>"
これで判りますでしょうか?

補足日時:2006/09/12 18:07
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!