none
select文後のデータの取得方法 RRS feed

  • 質問

  • こんばんわ。

    本を見ながら勉強しているのですが、根本的な所の理解がまだまだ足りなくて、恐縮ですが、ご質問させてください;;

    sqldatasourceコントロールを利用し、セレクトコマンドで取得された値を参照して特定のフィールドの値を テキストボックスへ代入したいのですが、値の参照方法はどの様にすれば可能なのでしょうか?sqldatareader を使うと参照できると本には書いてるのですが、

    いろいろ試しても・・エラーばかりでて;; 例えばコンテキストがないとか・・。

    コンテキストって何?って感じです。

    そもそも、sqldatasourceコントロールを利用した場合はsqldatareaderを利用しなくても参照できる?出来ない?って事すら理解できてない状態ですみません。

     

     

     

    2007年1月22日 11:17

回答

  • SqlDataSourceには、DataSourceModeとして、DataSetとDataReaderの二つがあります。
    SqlDataSourceからSqlDataReaderを得るには、DataSourceModeをDataReaderとした上で、

    Dim myDataReader As SqlDataReader = CType(SqlDataSource1.Select(DataSourceSelectArguments.Empty), SqlDataReader)

    のようにすると、SqlDataReaderを得ることができます。

    また、SqlDataSourceを使わず、SqlCommandを使って、データベースを読む方法もあります。単に値を読むだけであれば、SqlCommandを使う方が、シンプルかつ効率的でしょう。

    2007年1月22日 15:12
    モデレータ

すべての返信

  • SqlDataSourceには、DataSourceModeとして、DataSetとDataReaderの二つがあります。
    SqlDataSourceからSqlDataReaderを得るには、DataSourceModeをDataReaderとした上で、

    Dim myDataReader As SqlDataReader = CType(SqlDataSource1.Select(DataSourceSelectArguments.Empty), SqlDataReader)

    のようにすると、SqlDataReaderを得ることができます。

    また、SqlDataSourceを使わず、SqlCommandを使って、データベースを読む方法もあります。単に値を読むだけであれば、SqlCommandを使う方が、シンプルかつ効率的でしょう。

    2007年1月22日 15:12
    モデレータ
  • trapemiyaさん レスありがとうございました。

    大変参考になりました^^。

     Dim myDataReader As Data.Odbc.OdbcDataReader = CType(ZAI.Select(DataSourceSelectArguments.Empty), Data.Odbc.OdbcDataReader)
                Try
                    While myDataReader.Read()
                        Label9.Visible = False
                        Me.GridView1.Visible = True
                        TextBox1.Text = myDataReader.GetStrings(1)
                    End While
                Finally
                    If myDataReader.HasRows = False Then
                        TextBox1.Text = ""
                        Me.GridView1.Visible = False
                    End If
                    myDataReader.Close()
                End Try

    最初、sqlatareader 記述そのままで、エラー出て戸惑いましたが、Data.Odbc.OdbcDataReader に変更しましたら希望通り動きました。ODBCとSQL混在なので、目的別に使える事も確認できました。

    ありがとうございましたーv^^

    2007年1月23日 10:25