プログラムでSQL文を実行し結果を取得したり、列を更新、削除する
VB.NETのSQL Serverに接続して、SQL文を実行することでテーブルの値や列を操作する説明をします
プログラムでSQL文の実行であってもSQL文事態の文法は他と同じです
ここでは、「SQL Server」の「データベースに接続」、「SELECT」、「INSERT」、「UPDATE」、「DELETE」を紹介します
VB.NETのSQL Serverに接続して、SQL文を実行することでテーブルの値や列を操作する説明をします
プログラムでSQL文の実行であってもSQL文事態の文法は他と同じです
ここでは、「SQL Server」の「データベースに接続」、「SELECT」、「INSERT」、「UPDATE」、「DELETE」を紹介します
テータベースに接続
最後にクローズと解放をお忘れなく
Dim cn As New SqlClient.SqlConnection cn.ConnectionString = 接続文字列 cn.Open()
最後にクローズと解放をお忘れなく
cn.Close() cn.Dispose()
接続文字列
SQL Serverにログインするのに必要な情報をルールに基づいて羅列した文字列です
Data Source = IPアドレス等のロケーション\SQLEXPRESS;User ID = ユーザID;Password = パスワード;Initial Catalog = カレントデータベース名;" この様な定義とします
これを変数に定義します
SQL Serverにログインするのに必要な情報をルールに基づいて羅列した文字列です
Data Source = IPアドレス等のロケーション\SQLEXPRESS;User ID = ユーザID;Password = パスワード;Initial Catalog = カレントデータベース名;" この様な定義とします
これを変数に定義します
Dim cnStaring As String cnString = "" cnString &= "Data Source =IPアドレス等のロケーション\SQLEXPRESS;" cnString &= "User ID = ユーザID;" cnString &= "Password = パスワード;" cnString &= "Initial Catalog = データベース名;"
テーブルの内容を取得する
戻り値が必要な場合は「ExecuteReader」を使います
戻り値が必要な場合は「ExecuteReader」を使います
Dim cn As New SqlClient.SqlConnection Dim cd As New SqlClient.SqlCommand Dim dr As SqlClient.SqlDataReader Dim SQL As String 'データベース接続 cn.ConnectionString = "データベース接続文字列" cn.Open() 'SQL文生成 SQL = "" SQL &= "SELECT" SQL &= " *" SQL &= " FROM" SQL &= " テーブル名" 'SQLコマンド設定 cd.CommandText = SQL cd.Connection = cn dr = cd.ExecuteReader While dr.Read Console.Write(dr("列名1")) Console.Write(dr("列名2")) End While 'クローズ解放 dr.Close() cd.Dispose() cn.Close() cn.Dispose()
行を追加する
戻り値が必要ない場合は「「ExecuteNonQuery」を使用します
戻り値が必要ない場合は「「ExecuteNonQuery」を使用します
Dim cn As New SqlClient.SqlConnection Dim cd As New SqlClient.SqlCommand Dim SQL As String 'データベース接続 cn.ConnectionString = "データベース接続文字列" cn.Open() 'SQL文生成 SQL = "" SQL &= "INSERT INTO テーブル名" SQL &= "(" SQL &= " 列名1," SQL &= " 列名2," SQL &= " 列名3" SQL &= ")" SQL &= "VALUES" SQL &= "(" SQL &= " 1," SQL &= " 100," SQL &= " 'テスト文字列'" SQL &= ")" 'SQLコマンド設定 cd.CommandText = SQL cd.Connection = cn cd.ExecuteNonQuery() 'クローズ解放 cd.Dispose() cn.Close() cn.Dispose()
テーブルを更新する
Dim cn As New SqlClient.SqlConnection Dim cd As New SqlClient.SqlCommand Dim SQL As String 'データベース接続 cn.ConnectionString = "データベース接続文字列" cn.Open() 'SQL文生成 SQL = "" SQL &= "UPDATE テーブル名" SQL &= " SET 列名2 = 200," SQL &= " 列名3 = '文字列修正の値'" SQL &= " WHERE" SQL &= " 列名1 = 1" 'SQLコマンド設定 cd.CommandText = SQL cd.Connection = cn cd.ExecuteNonQuery() 'クローズ解放 cd.Dispose() cn.Close() cn.Dispose()
行を削除する
Dim cn As New SqlClient.SqlConnection Dim cd As New SqlClient.SqlCommand Dim SQL As String 'データベース接続 cn.ConnectionString = "データベース接続文字列" cn.Open() 'SQL文生成 SQL = "" SQL &= "DELETE" SQL &= " FROM" SQL &= " テーブル名" SQL &= " WHERE" SQL &= " 列名1 = 1" 'SQLコマンド設定 cd.CommandText = SQL cd.Connection = cn cd.ExecuteNonQuery() 'クローズ解放 cd.Dispose() cn.Close() cn.Dispose()
まとめ
戻り値が必要な場合は「ExecuteReader」
戻り値が必要ない場合は「「ExecuteNonQuery」
順番として
データベースに接続
SQL文生成
SQLコマンド実行
データベースクローズ・解放
となります
戻り値が必要な場合は「ExecuteReader」
戻り値が必要ない場合は「「ExecuteNonQuery」
順番として
データベースに接続
SQL文生成
SQLコマンド実行
データベースクローズ・解放
となります