- PR -

ASP.NETのDataGridについて

投稿者投稿内容
ごん太
大ベテラン
会議室デビュー日: 2002/07/30
投稿数: 182
お住まい・勤務地: 森の中
投稿日時: 2002-07-31 16:08
先ほどお礼をしてまた書き込みをしてしまいます…すみません。

いろいろ見たのですが基本的にはDateGridとはSQLサーバーに接続して表示させるのですか??
ちなみにORACLEを使って接続をし、DataGridに表示したいのですが、その場合はどのように記述したらいいのでしょうか?
かなめ
会議室デビュー日: 2002/07/15
投稿数: 16
お住まい・勤務地: 東京
投稿日時: 2002-07-31 17:23
ORACLEで使用してみて駄目だったのでしょうか?

SQL ServerでもORACLEでも、DataSetとDataGridが連結することは
変わらないハズなのですが・・・。

違いがあるのは、ADO.NETの方が変わるだけだと思いますよ。
SqlDataAdapterがOleDataAdapterに変わるかと・・・。
y.a
会議室デビュー日: 2002/08/01
投稿数: 1
投稿日時: 2002-08-01 17:41
私がORACLEのデータをDataGridに表示してしてるソースのです。
DetaGlidには何も設定していません。(デフォルト状態です)
また、Connection、DataAdapter,DataSetはASPXには配置せずにPage_Loadで動的に作成しています。
参考になるでしょうか?

コード:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim oledbAdpt As New OleDb.OleDbDataAdapter()
Dim dst As New DataSet()
Dim strSQL As String

Dim OleDbConn = New OleDb.OleDbConnection("Provider=OraOLEDB.Oracle.1;Password=xxxxx;" & _
                                           Persist Security Info=True;User ID=xxxxx" & _
                                           ";Data Source=xxxxx;Extended Properties=""""")

strSQL = "SELECT * FROM Table " & _
         " WHERE abc='" & DropDownList1.SelectedItem.Value & "'"

oledbAdpt = New OleDbDataAdapter(strSQL, OleDbConn)

Try
    dst = New DataSet()
    oledbAdpt.Fill(dst)
    If dst.Tables(0).Rows.Count = 0 Then
        lblMsg.Text = "対象データはありませんでした。"
    Else
        With dgrData
            .DataSource = dst
            .DataBind()
            .Visible = True
        End With
        lblMsg.Text = "検索終了"
    End If
Catch MyOleDbExcep As OleDb.OleDbException
    lblMsg.Text = MyOleDbExcep.ToString
Catch
    lblMsg.Text = "実績データの検索でエラーです。"
Finally
    dst.Dispose()
    oledbAdpt.Dispose()
    dst = Nothing
    oledbAdpt = Nothing
End Try
End Sub

ごん太
大ベテラン
会議室デビュー日: 2002/07/30
投稿数: 182
お住まい・勤務地: 森の中
投稿日時: 2002-08-01 17:51
みなさんどうもありがとうございます。
他にも参考になるソースがありましたら教えてください。

またわからないこと等ありましたらこの場に書かせてもらいます。
ごん太
大ベテラン
会議室デビュー日: 2002/07/30
投稿数: 182
お住まい・勤務地: 森の中
投稿日時: 2002-08-05 09:24
みなさんお疲れ様です。
あれからy.aさんのソースを参考にしていろいろ調べてはみたのですが、
どうしても下記ソース部分でエラーになってしまいます。

oledbAdpt = New OleDbDataAdapter(strSQL, OleDbConn)
        ~~~~~~~~~~~~~~~~
型'OleDbDataAdapter'が定義されていません。

参照設定に『OracleInProcServer』や『ORAOLEDBLib』等を参照しているのですが…
何か他に設定しなければならないことが有るのでしょうか…?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2002-08-05 19:18
引用:

ゴン太さんの書き込み (2002-08-05 09:24) より:
みなさんお疲れ様です。
あれからy.aさんのソースを参考にしていろいろ調べてはみたのですが、
どうしても下記ソース部分でエラーになってしまいます。

oledbAdpt = New OleDbDataAdapter(strSQL, OleDbConn)
        ~~~~~~~~~~~~~~~~
型'OleDbDataAdapter'が定義されていません。

参照設定に『OracleInProcServer』や『ORAOLEDBLib』等を参照しているのですが…
何か他に設定しなければならないことが有るのでしょうか…?



「System.Data.OleDb.OleDbDataAdapter」です。もしくは、コードの先頭で「Import System.Data.OleDb」と書いてください。

 詳しくは、「名前空間」について参照してください。

 でも、デザイナで書いておいた方が楽でないですか?
 あ、DataGridには「自動で列を追加する」機能があるので、それを使うために最初に設定しておかなくてもよいのです。

[ メッセージ編集済み 編集者: Jitta 編集日時 2002-08-05 19:20 ]
ごん太
大ベテラン
会議室デビュー日: 2002/07/30
投稿数: 182
お住まい・勤務地: 森の中
投稿日時: 2002-08-06 14:08
コードの先頭に『Imports System.Data.OleDb』を入れると今度は
oledbAdpt = New OleDbDataAdapter(strSQL, OleDbConn)
         ~~~~~~~~~~~~~~~
下位変換しないで呼び出される、アクセス可能な'New'が無い為、オーバーロードの解決に失敗しました。

と表示されたので、HELPで調べてみると『Option Strict Off』を指定すると記述されていたのでClassの上に下図のように入力しました。

Option Strict Off
Imports System.Data.OleDb

しかしエラーは一向に変わりません…このエラーと『Option Strictステートメント』とは関係の無いエラーなのでしょうか??
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2002-08-07 15:25
引用:

元のコードから引用
コード:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim oledbAdpt As New OleDb.OleDbDataAdapter()


適当に省略


oledbAdpt = New OleDbDataAdapter(strSQL, OleDbConn)




宣言時にNewしてありますけど?
#まぁ、ガーベッジコレクタが期待通りに働いていれば、
#宣言時のメモリは破棄されているはずですけど

そこで型を宣言していないので、Object型でとられているかもしれませんね。
宣言部をなおしてください。
コード:

Dim oledbAdpt As OleDbDataAdapter



[ メッセージ編集済み 編集者: Jitta 編集日時 2002-08-07 15:28 ]

スキルアップ/キャリアアップ(JOB@IT)