.vb ファイルの先頭:
System.data.sqlclient をインポートします
プレ>コード内:
'Setup SQL CommandDim CMD as new sqlCommand("StoredProcedureName")CMD.parameters("@Parameter1", sqlDBType.Int).value =Param_1_valueDim connection As New SqlConnection(connectionString)CMD.Connection =connectionCMD.CommandType =CommandType.StoredProcedureDim adapter As New SqlDataAdapter(CMD)adapter.SelectCommand.CommandTimeout =300'データセットDim DS を DataSet adapter.Fill(ds)connection.Close() ' に入力します。 DS.Tables(0).rows Msgbox("The value in Column ""ColumnName1"":" &cstr(DR("ColumnName1")))next
プレ>基本は終わったので、
実際の SqlCommand 実行を関数に抽象化することを強くお勧めします。
以下は、私がさまざまなプロジェクトで何らかの形で使用している一般的な関数です:
'''
プレ>メイン DB 接続で SqlCommand を実行します。使用法:Dim ds As DataSet =ExecuteCMD(CMD) '''''' コマンド タイプは、commandText にスペースが含まれているかどうかに基づいて決定されます。スペースがある場合は、テキスト コマンド ("select ... from .."),''' ''' それ以外の場合は、トークンが 1 つだけの場合、ストアド プロシージャ コマンドです'''' Function ExecuteCMD(ByRef CMD As SqlCommand) As DataSet Dim connectionString As String =ConfigurationManager.ConnectionStrings("main").ConnectionString Dim ds As New DataSet() Try Dim connection As New SqlConnection(connectionString) CMD.Connection =connection 'コマンド テキストにスペースがない場合は、ストアド プロシージャ コマンド タイプ。例:"sp_Select_Customer" と "select * from Customers" If CMD.CommandText.Contains(" ") Then CMD.CommandType =CommandType.Text Else CMD.CommandType =CommandType.StoredProcedure End If Dim adapter As New SqlDataAdapter(CMD) adapter .SelectCommand.CommandTimeout =300 'データセット アダプターを埋める.Fill(ds) 接続.Close() Catch ex As Exception ' 接続に失敗しました。エラー メッセージを表示します。 Throw New Exception("Database Error:" &ex.Message) End Try Return dsEnd Functionそれができたら、SQL の実行とコードの読み取りは非常に簡単です:
<前>'------------------------------------------- ---------------------------'Dim CMD As New SqlCommand("GetProductName")CMD.Parameters.Add("@productID", SqlDbType .Int).Value =ProductIDDim DR As DataRow =ExecuteCMD(CMD).Tables(0).Rows(0)MsgBox("製品名:" &cstr(DR(0)))'-------- -------------------------------------------------- ------------'コード> プレ>