【发布时间】:2015-02-07 21:44:58
【问题描述】:
我正在使用 SQL 使用 C#,并且在弄清楚如何将 C# 变量传递到 SQL SET 语句时遇到问题。我了解如何将参数传递到 SQL SELECT 语句的“WHERE”部分,但我找不到有关如何将参数添加到 UPDATE 语句的“SET”部分的任何信息。这是我正在变成存储过程的代码:
string sql = " update pay_control set payroll_type_cd = :payroll_type_cd, paystart_dt = :paystart_dt, payend_dt = :payend_dt, check_dt = :check_dt, ";
sql += "eff_dt = :eff_dt, init_dt = :init_dt, close_dt = :close_dt, active = :active, completed = :completed, release_pay = :release_pay where pay_control_id = :pay_control_id";
List<UserInput> listUserInput = new List<UserInput>();
listUserInput.Add(new UserInput(":payroll_type_cd", "System.Int64", userInputs.PayrollTypeCd.ToString()));
listUserInput.Add(new UserInput(":pay_control_id", "System.Int64", userInputs.PayControlId.ToString()));
listUserInput.Add(new UserInput(":paystart_dt", "System.DateTime", userInputs.PaystartDt.ToShortDateString()));
listUserInput.Add(new UserInput(":payend_dt", "System.DateTime", userInputs.PayendDt.ToShortDateString()));
listUserInput.Add(new UserInput(":check_dt", "System.DateTime", userInputs.CheckDt.ToShortDateString()));
listUserInput.Add(new UserInput(":eff_dt", "System.DateTime", userInputs.EffDt.ToShortDateString()));
listUserInput.Add(new UserInput(":init_dt", "System.DateTime", userInputs.InitDt.ToShortDateString()));
listUserInput.Add(new UserInput(":close_dt", "System.DateTime", userInputs.CloseDt.ToShortDateString()));
listUserInput.Add(new UserInput(":active", "System.String", userInputs.Active));
listUserInput.Add(new UserInput(":completed", "System.String", userInputs.Completed));
listUserInput.Add(new UserInput(":release_pay", "System.String", userInputs.ReleasePay));
我不打算将“listUserInput”行作为存储过程的一部分,但我不知道如何将信息从“listUserInput”传递到存储过程。 有什么建议? 谢谢
【问题讨论】:
-
UserInput类型是如何定义的?您如何使用该 listUserInput?
标签: c# mysql sql stored-procedures parameters