- - PR -
Me.OleDbSelectCommand1.CommandTestでエラー
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-09-02 19:18
こんにちは、yamashitaともうします。
ASP初心者です。皆さん宜しくお願い致します。 あるシステムのログイン画面を作成しています。 ログイン時にテーブルの情報を取得しようと思います。 テーブルの情報取得は今後も頻繁に使用するため、別クラスにしました。 画面:FormA クラス:Class FormA 情報を取得するクラス:Class A_Table 元のクラス Class FromA Private Sub Bottun_Click( ) Dim a As New A_Table() a.Shain_Get_Record(UserID) End Sub End Class 情報を取得するクラス Class A_Table Protected WithEvents OleDbConnection1 As System.Data.OleDb.OleDbConnection Protected WithEvents OleDbDataAdapter1 AsSystem.Data.OleDb.OleDbDataAdapter Protected WithEvents OleDbSelectCommand1 As System.Data.OleDb.OleDbCommand Protected WithEvents DataSet1 As System.Data.DataSet Public Function A_Get_Record(Byval in_no As String) As String Me.OleDbSelectCommand1.CommandText = "SELECT * FROM A_Table " & _ "WHERE (SHAIN_NO ='" & in_no & "')" OleDbDataAdapter1.Fill(DataSet1) count = DataSet1.Tables("A31_M_SHAIN").Rows.Count ・・・・・・・・・・・・・・ End Function End Class 実行するとSQL文をCommandTextにセットするところでエラーになります。 メッセージは「Object reference not set to an instance of an object.」です。 OleDbSelectCommand1が原因のように思うのですが、、、。 初歩的な事だと思うのですが、どうぞ宜しくお願いいたします。 | ||||
|
投稿日時: 2004-09-03 09:21
の部分が間違いです。クラスのインスタンスを作成する必要があります。 まずはMSDN:OleDbConnection コンストラクタの使用例等を参考にするとよいかもしれません。 | ||||
|
投稿日時: 2004-09-03 16:13
ありがとうございます!
教えていただいたHPを参考に色々と試してみました。 下記のように作ってみたのですが、エラーになってしまいます。 Public Class A_Table Public user_no As String Public Function A_Get_Table(Byval in_no As String) As String Dim OleDbConnection1 As New System.Data.OleDb.OleDbConnection() Dim OleDbDataAdapter1 As New System.Data.OleDb.OleDbDataAdapter() Dim OleDbSelectCommand1 As New System.Data.OleDb.OleDbCommand() Dim DS_A As New DataSet() OleDbConnection1.ConnectionString = "省略" OleDbSelectCommand1.CommandText = "SELECT * FROM A_TABLE" OleDbSelectCommand1.Connection = OleDbConnection1 OleDbDataAdapter1.SelectCommand = OleDbSelectCommand1 OleDbConnection1.Open() DS_A.Clear() OleDbDataAdapter1.Fill(DS_A) user_no = DS_A.Tables("A_TABLE").Rows(0)("USER_NO") ★ OleDbConnection1.Close() End Function End Class ★印のところでエラーになってしまいます。 ----------------------- Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. ----------------------- 書く順番が違うのでしょうか? お手数をおかけいたしますが、宜しくお願い致します。 | ||||
|
投稿日時: 2004-09-03 16:41
エラーメッセージ(Null参照)から予測すると、単純にSQL文にて取得した値「USER_NO」がNULLなのではないでしょうか。 NULLのデータの場合は「IsDbNull」でチェックしてから、「user_no As String」へ格納したほうがいいかも。 [追記] @IT:データベースから読み出してきたデータがNULLだった場合の対処方についてご相談 [/追記] [ メッセージ編集済み 編集者: えんぞ@見習 編集日時 2004-09-03 16:46 ] | ||||
|
投稿日時: 2004-09-03 17:08
ありがとうございました!
ASPへの第一歩を踏み出せたような気分です!! 今後とも宜しくお願い致します。 |
1