C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: 行および列にデータが存在しません。


(過去ログ 74 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■43175 / inTopicNo.1)  行および列にデータが存在しません。
  
□投稿者/ だい (1回)-(2009/10/30(Fri) 16:20:53)

分類:[.NET 全般] 

質問させて頂きます。

C:\にあるmdbファイルからSQLでデータを取得していますが、「行および列にデータが存在しません。」というエラーでデータが取得できません。
コードは以下の通りです。

Function GetID(ByVal JCode As String, ByVal JDay As String, ByVal JNo As String) As String
Dim cmd As New OleDb.OleDbCommand
Dim rs As OleDb.OleDbDataReader = Nothing

cmd = cn.CreateCommand
cmd.CommandText = "SELECT ID FROM ZData WHERE J_Code = '" & JCode & "' AND J_Day = '" & JDay & "' AND J_No = '" & JNo & "'"

rs = cmd.ExecuteReader

If rs.HasRows = True Then
GetID = rs.Item(0) ←ここでエラーになる。
Else
GetID = ""
End If
cmd.Dispose()
rs = Nothing
End Function

HasRowsはTrueになるのですが、アイテムを取得しようとするとエラーとなります。
なお、ExecuteScalarで試してみた所0となりました。

ただ、エラーのコードでブレイクポイントを作って止めてSQL分をコピーし、アクセスのクエリに貼り付け実行すると正常に値は取得できます。

わかる方教えてください。

引用返信 編集キー/
■43176 / inTopicNo.2)  Re[1]: 行および列にデータが存在しません。
□投稿者/ だい (3回)-(2009/10/30(Fri) 16:35:23)
No43175 (だい さん) に返信
> 質問させて頂きます。
>
> C:\にあるmdbファイルからSQLでデータを取得していますが、「行および列にデータが存在しません。」というエラーでデータが取得できません。
> コードは以下の通りです。
>
> Function GetID(ByVal JCode As String, ByVal JDay As String, ByVal JNo As String) As String
> Dim cmd As New OleDb.OleDbCommand
> Dim rs As OleDb.OleDbDataReader = Nothing
>
> cmd = cn.CreateCommand
> cmd.CommandText = "SELECT ID FROM ZData WHERE J_Code = '" & JCode & "' AND J_Day = '" & JDay & "' AND J_No = '" & JNo & "'"
>
> rs = cmd.ExecuteReader
>
> If rs.HasRows = True Then
> GetID = rs.Item(0) ←ここでエラーになる。
> Else
> GetID = ""
> End If
> cmd.Dispose()
> rs = Nothing
> End Function
>
> HasRowsはTrueになるのですが、アイテムを取得しようとするとエラーとなります。
> なお、ExecuteScalarで試してみた所0となりました。
>
> ただ、エラーのコードでブレイクポイントを作って止めてSQL分をコピーし、アクセスのクエリに貼り付け実行すると正常に値は取得できます。
>
> わかる方教えてください。
>
解決済み
引用返信 編集キー/
■43177 / inTopicNo.3)  Re[1]: 行および列にデータが存在しません。
□投稿者/ Hongliang (499回)-(2009/10/30(Fri) 16:35:52)
ExecuteReader で取得した直後の DbDataReader は、先頭レコードよりも前をポイントしています。
先頭レコードに位置を移動させるため、まず Read メソッドを呼ぶ必要があります。
引用返信 編集キー/
■43193 / inTopicNo.4)  Re[2]: 行および列にデータが存在しません。
□投稿者/ だい (4回)-(2009/10/31(Sat) 12:32:13)
No43176 (だい さん) に返信
> ■No43175 (だい さん) に返信
>>質問させて頂きます。
>>
>>C:\にあるmdbファイルからSQLでデータを取得していますが、「行および列にデータが存在しません。」というエラーでデータが取得できません。
>>コードは以下の通りです。
>>
>>Function GetID(ByVal JCode As String, ByVal JDay As String, ByVal JNo As String) As String
>> Dim cmd As New OleDb.OleDbCommand
>> Dim rs As OleDb.OleDbDataReader = Nothing
>>
>> cmd = cn.CreateCommand
>> cmd.CommandText = "SELECT ID FROM ZData WHERE J_Code = '" & JCode & "' AND J_Day = '" & JDay & "' AND J_No = '" & JNo & "'"
>>
>> rs = cmd.ExecuteReader
>>
>> If rs.HasRows = True Then
>> GetID = rs.Item(0) ←ここでエラーになる。
>> Else
>> GetID = ""
>> End If
>> cmd.Dispose()
>> rs = Nothing
>> End Function
>>
>>HasRowsはTrueになるのですが、アイテムを取得しようとするとエラーとなります。
>>なお、ExecuteScalarで試してみた所0となりました。
>>
>>ただ、エラーのコードでブレイクポイントを作って止めてSQL分をコピーし、アクセスのクエリに貼り付け実行すると正常に値は取得できます。
>>
>>わかる方教えてください。
>>


ありがとうございます。

コードを見ていて、単純なミスに気づきました。

お手数お掛けしました。
引用返信 編集キー/
■43229 / inTopicNo.5)  Re[3]: 行および列にデータが存在しません。
□投稿者/ まさる (111回)-(2009/11/02(Mon) 21:33:23)
まさる さんの Web サイト
解決済みチェックつけときますね。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -