public static void fillCheckList(string ListType,int RecordNum,CheckBox chkRequired,TextBox txtComplete,TextBox txtMemo)
{
string sql_Check = String.Format(@"SELECT l.Required,l.Completed,l.ISP,l.Memo_Notes,
t.List_Desc
FROM List_Data l, List_Type t
WHERE l.List_ID = t.List_ID
AND l.Record_Num = {0}
AND t.List_Desc = '{1}'", RecordNum,ListType);
ListData LIST = new ListData();
SqlConnection sqlConn = null;
SqlCommand cmd_Check;
SqlDataReader dr_Check;
try
{
sqlConn = new SqlConnection(databaseConnectionString);
sqlConn.Open();
cmd_Check = new SqlCommand(sql_Check, sqlConn);
dr_Check = cmd_Check.ExecuteReader();
while (dr_Check.Read())
{
LIST = new ListData(Convert.ToBoolean(dr_Check["Required"]), dr_Check["Completed"].IsNull() ? (DateTime?)null : Convert.ToDateTime(dr_Check["Completed"]), dr_Check["Memo_Notes"].ToString());
}
chkRequired.Checked = LIST.REQUIRED;
txtComplete.Text = LIST.COMPLETED.HasValue ? LIST.COMPLETED.Value.ToShortDateString() : "";
txtMemo.Text = LIST.MEMO_NOTES;
}
catch (Exception e)
{
MessageBox.Show("Error found in fillCheckList..." + Environment.NewLine + e.ToString());
}
finally
{
if (sqlConn != null)
{
sqlConn.Close();
}
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我接受项目id的整数变量,列表类型的字符串变量和2文本框类型.我因此使用这种方法接受4个参数..我想要做的是我也希望它接受5个参数.那是..包括一个更多的文本框..所以它相应需要4个参数或5个参数/我如何在同一个方法中这样做.
Eri*_*ert 10
不要使用params.
使用参数表示"我可以采用零,一个或任意多个额外参数.听起来你想要采取零或一个额外的参数.
TJMonk15是对的; 你应该使用一个可选参数(在C#4中),或者写两个方法,让其中一个方法用额外参数的默认值调用另一个方法.优选后者.
(为了善良,修复SQL注入漏洞!)