DOBON.NET DOBON.NETプログラミング掲示板過去ログ

テーブル読込み更新ロジックVB.NET

環境/言語:[VB.NET]
分類:[.NET]

AccessのEOFや新規追加(addnew)、更新(edit)は、VB.NETではどのように記述するのでしょうか?
やりたいことは、SQLのテーブルを読んで、無かった場合は新規、存在する場合は、更新 を
行いたいのです。
また、何か参考になるものがあればお願いします。

↓Access97です。今度AccessからVB.NETでの開発になりました。

Dim WS As Workspace, db As Database
Dim WK_REC1 As Recordset
Dim s_sql As String

Set WS = DBEngine.Workspaces(0)
Set db = WS.Databases(0)
s_sql = "SELECT * FROM uriagetbl WHERE (cd = '0015')"
Set WK_REC1 = db.OpenRecordset(s_sql, DB_OPEN_DYNASET)
If WK_REC1.EOF Then
WK_REC1.AddNew
・・・・・
WK_REC1.Update
Else
WK_REC1.Edit
・・・・・
WK_REC1.Update
End If


【↓VB.NET この先が?です】

Dim myConn As System.Data.SqlClient.SqlConnection
Dim s_sql As String
Dim myCommand As System.Data.SqlClient.SqlCommand
Dim myReader As System.Data.SqlClient.SqlDataReader

Try
myConn = New System.Data.SqlClient.SqlConnection( _
"server=DBdata;database=testtable;" & _
"uid=sa;pwd=password")
myConn.Open()

Catch ex0 As Exception
Response.Write("**err**" & ex0.Message & ex0.ToString)
End Try

Try
s_sql = "SELECT * FROM uriagetbl WHERE (uriday = '2004/03/15') "
myCommand = New System.Data.SqlClient.SqlCommand(s_sql)
myCommand.Connection = myConn
myReader = myCommand.ExecuteReader()

if myreader.??????????? ここからがわかりません
# 半角カナは使用しないようにしましょう。

SqlDataReaderのReadメソッドの戻り値により処理すればよいかと。
Readメソッドは次の行がある場合はtrue、それ以外の場合はfalseを返します。
■No3087に返信(Sugi@ぱぱんぶぃびぃさんの記事)
> # 半角カナは使用しないようにしましょう。
>
> SqlDataReaderのReadメソッドの戻り値により処理すればよいかと。
> Readメソッドは次の行がある場合はtrue、それ以外の場合はfalseを返します。

ありがとうございます。
やってみます。
解決済み、はもう少し待っていて。。。
■No3097に返信(みちさんの記事)
> ■No3087に返信(Sugi@ぱぱんぶぃびぃさんの記事)
>># 半角カナは使用しないようにしましょう。
>>
>>SqlDataReaderのReadメソッドの戻り値により処理すればよいかと。
>>Readメソッドは次の行がある場合はtrue、それ以外の場合はfalseを返します。
>
> ありがとうございます。
> やってみます。
> 解決済み、はもう少し待っていて。。。

OK!ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板