我是 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 但我希望我的代码能够适应适应性,例如它应该适用于一个字段(更新或插入)甚至 10 个字段(更新或插入),而无需在每次字段数量更改时更改函数代码。
这是可以实现的吗?如果是这样,怎么做?