私は C# と SQL でパラメーターを渡すのは初めてですが、実装することが重要であることは知っています。
シナリオは次のとおりです。
既にシステムに関数を組み込んでいますが、関数に渡されるパラメーターを使用できるようにするために関数を編集する方法がわかりません。
INSERT または UPDATE を介して編集する私の機能は次のとおりです。
namespace SQLFunc
{
class SQLClass
{
public void SQLEdit(string var_SQLCommand)
{
using (SqlConnection myConn = new SqlConnection(this.SQLConnectString))
using (SqlCommand var_command = new SqlCommand(var_SQLCommand, myConn))
{
myConn.Open();
try
{
var_command.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show("An error occurred: " + ex.Message + " using SQL Query: " + var_SQLCommand, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
myConn.Close();
}
}
}
...
私の関数を使用するための私の一般的なコマンドは次のとおりです。
using SQLFunc.SQLClass
....
//command to variable
var_Command = "UPDATE tbl_Table SET fld_Active = 'YES' WHERE fld_IDNo = " + var_A;
//execute function
var_SQLClass.SQLEdit(var_Command);
パラメータを使用して、コードに行きたい:
using SQLFunc.SQLClass
....
//command to variable
var_Command = "UPDATE tbl_Table SET fld_Active = 'YES' WHERE fld_IDNo = @var_A_";
// need to pass this entire line after the SQLCommand in the function SQLEdit
var_Command.Parameters.AddWithValue("var_A_", var_A );
var_SQLClass.SQLEdit(var_Command);
関数でパラメータ受け渡しを利用できるようにしたかったのです。変数 var_A を渡すことはできましたが、フィールド数が変わるたびに関数のコードを変更することなく、1 つのフィールド (更新または挿入) または 10 フィールド (更新または挿入) に対しても機能するように、コードを適応性に対応させたいと考えました。
これは達成可能ですか?もしそうなら、どのように?