• ベストアンサー

.netでのDB連携

ASP.netのVB.NETを勉強していて簡単なシステムを作成しています。 簡単な帳票にデータを登録したり編集、削除したりするものです。 DB接続はできたのですが、DBからデータを呼び出す表示、イベントによるDBにデータを登録、そしてDBのデータを編集、削除する方法がみえてきません。 SQLのクエリを使用して行うのでしょうか? SELECT 呼び出す列 FROMテーブル  これだけではよびだせませんでした。 すいませんが、知恵をかしてください。 DB接続を行った後、

質問者が選んだベストアンサー

  • ベストアンサー
  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.2

>又SPREADとの連携を行い、SPREADとしてDBからとってきた値を入れたり、登録したりしたいのですが、参考になるアドバイス、またはサイトないでしょうか。 大変残念ですが、私はSPREADを使用した開発経験がありません。 SPREADがどのようなインターフェースを持つのかわからないため、回答できません。 参考になるかどうか別としてですが、 Console.WriteLine(i.Tostring() & "," & columns & "=" & data ) 部分を 出力したいコントロールに設定すれば値は表示できると、思います。 Textbox1.Text = data のようになるでしょうか。 もうご存知かもしれませんが、ASP.NETにおいて、コントロールを動的に取得する場合は、FindControlメソッドを使用します。 Meの直下のコントロールであれば、 Me.FindControl("探したいコントロールのID") となります。 これを利用し、 コントロールの名称をカラム名+ロー番号にしておけば、 dim control as object For i As Integer = 0 To Reader.FieldCount - 1 columns = DirectCast(Reader.GetSchemaTable.Rows(i).Item("ColumnName"), String) data = DirectCast(Reader.Item(i),String) control = Me.Findcontrol(columns & i.Tostring()) if not control is nothing then control.text = data end if Next のようにして、まわすこともできます。 参考になるサイトとしてあげられるのは、System.Data.SqlClient名前空間の使用の参考になるサイトだけです。 http://park5.wakwak.com/~weblab/index.html

force1
質問者

お礼

返事が送れてすいません。 色々試していました、ありがとうございます!

その他の回答 (1)

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.1

DBとのやり取りはSQLという言語を通して行います。 データを取得する場合も、データを更新する場合もSQLを発行して、データベースがSQLを解釈し、結果を返してくれます。 そのため、 まずVB.NETからSQLを発行するための手順を知らなければいけません。 たとえば Accessであれば、System.Data.OleDb.OleDbCommandを使用します。 SQL Serverであれば、System.Data.SqlClient.SqlCommandを使用します。 例としては、 '先頭にImports System.Data.SqlClientを入れること。 Dim cnstr As String = "自分が使用する接続文字列" Using cn As SqlConnection = New SqlConnection(cnstr) Dim reader As SqlDataReader cn.Open() Try Using cmd As SqlCommand = New SqlCommand cmd.CommandText = "SELECT * FROM テーブル名" cmd.Connection = cn reader = cmd.ExecuteReader End Using Catch ex As Exception End Try Dim columns As String Dim data As String DO While Reader.Read() For i As Integer = 0 To Reader.FieldCount - 1 columns = DirectCast(Reader.GetSchemaTable.Rows(i).Item("ColumnName"), String) data = DirectCast(Reader.Item(i),String) Console.WriteLine(i.Tostring() & "," & columns & "=" & data ) Next Loop cn.Close() End Using

force1
質問者

お礼

非常に参考になりました。ありがとうございます! 登録や削除はinsertやdeleteを使用して行う以外もあるのですね。 又SPREADとの連携を行い、SPREADとしてDBからとってきた値を入れたり、登録したりしたいのですが、参考になるアドバイス、またはサイトないでしょうか。

関連するQ&A