ADO.Net を介して VB2010 Express にデータベース接続を追加するためのソース コードを教えてください。データベースフィールドを追加、更新、削除、取得、変更するためのすべてのコマンドが含まれています。ソースコード付きの小さなプロトタイプの作業モデルを誰かが提供してくれると本当に助かります。
1 に答える
ADO.NET は多かれ少なかれ SQL クエリ ベースです。したがって、CRUD (作成、読み取り、更新、削除) 操作については、SQL 言語を参照してください (使用しているデータベースによっては、クエリ構文に多少の違いがある場合があります)。
接続は、名前空間からIDbConnection
、IDbCommand
、IDbDataAdapter
、IDbDataParameter
およびIDbTransaction
インターフェイスを実装する特殊なプロバイダー エンティティを使用します。System.Data
さまざまなデータベース プロバイダーがあります (たとえば、Microsoft SQL Server、Oracle、mySQl、OleDb、ODBC など)。それらの一部は .NET Framework (MSSQL=System.Data.SqlClient
名前空間、OleDb= System.Data.OleDb
、ODBC=System.Data.Odbc
名前空間) によってネイティブにサポートされていますが、外部ライブラリを介して追加する必要があるものもあります (必要に応じて、独自のデータベース プロバイダーを作成することもできます)。
IDBCommand オブジェクト (System.Data.SqlClient.SqlCommand
オブジェクトなど) を使用すると、SQL コマンドを定義できます。
役立つかもしれない小さなサンプル スニペットを次に示します。
Public Class Form1
Sub DBTest()
'** Values to store the database values in
Dim col1 As String = "", col2 As String = ""
'** Open a connection (change the connectionstring to an appropriate value
'** for your database or load it from a config file)
Using conn As New SqlClient.SqlConnection("YourConnectionString")
'** Open the connection
conn.Open()
'** Create a Command object
Using cmd As SqlClient.SqlCommand = conn.CreateCommand()
'** Set the command text (=> SQL Query)
cmd.CommandText = "SELECT ID, Col1, Col2 FROM YourTable WHERE ID = @ID"
'** Add parameters
cmd.Parameters.Add("@ID", SqlDbType.Int).Value = 100 '** Change to variable
'** Execute the value and get the reader object, since we are trying to
'** get a result from the query, for INSERT, UPDATE, DELETE use
'** "ExecuteNonQuery" method which returns an Integer
Using reader As SqlClient.SqlDataReader = cmd.ExecuteReader()
'** Check if the result has returned som results and read the first record
'** If you have multiple records execute the Read() method until it returns false
If reader.HasRows AndAlso reader.Read() Then
'** Read the values of the current columns
col1 = reader("col1")
col2 = reader("col2")
End If
End Using
End Using
Debug.Print("Col1={0},Col2={1}", col1, col2)
'** Close the connection
conn.Close()
End Using
End Sub
End Class