sql >> データベース >  >> RDS >> Sqlserver

挿入のための ExecuteNonQuery()

    このコードにはいくつかの問題があります。

    最も重要なのは、コマンドの 接続 そのため、コマンドはデータベースへの接続方法を知る方法がありません。

    using 、および パラメータ化 あなたの質問:

    最後に、必要がない限り、接続とコマンドを関数の外で宣言しないでください。接続とコマンドは、必要な間だけ維持する必要があります。

    したがって、関数は次のようになります:

    Public Function add(ByVal area As String, ByVal user As String) As Integer Dim mydao As New Connection Using connection As New SqlConnection(mydao.ConnectionString()) Using command As New SqlCommand() ' 接続を設定しますcommand.Connection =connection ' 必須ではありませんが、良い方法です command.CommandType =CommandType.Text ' パラメーターを使用したクエリの例 command.CommandText ="INSERT into Area (Area, user) VALUES (@area, @user)" ' パラメーターの追加コマンドへ command.Parameters.AddWithValue("@area", area) command.Parameters.AddWithValue("@user", user) connection.Open() Return command.ExecuteNonQuery() End Using ' Dispose Command End Using ' Dispose (したがって、閉じる) ConnectionEnd 関数  

    現在、常に 0 を返すことに注意してください。関数から返された値をチェックする必要はなく、上記の例では単純に例外がスローされます。これにより、コードが少しきれいになり (呼び出し元は 0 がエラー状態であることを理解する必要があるため)、例外を処理する必要がある場合は、この関数の呼び出しを Try-Catch ブロック




    1. PostgreSQLでクエリ結果をフィルタリングする方法

    2. MySQLで過去12か月のデータを取得する方法

    3. URLから値を取得する方法

    4. リレーションテーブルのクエリを支援する