【发布时间】:2020-02-23 16:49:57
【问题描述】:
我的班级中有这样的部分:
public Details GetTicketById(string @ref)
{
var query = "SELECT * FROM support WHERE ref = @ref";
var args = new Dictionary<string, object>
{
{"@ref", @ref}
};
DataTable dt = ExecuteRead(query, args);
if (dt == null || dt.Rows.Count == 0)
{
return null;
}
var details = new Details
{
@ref = Convert.ToString(dt.Rows[0]["ref"]),
subject = Convert.ToString(dt.Rows[0]["subject"]),
contact_name = Convert.ToString(dt.Rows[0]["contact_name"]),
company_name = Convert.ToString(dt.Rows[0]["company_name"]),
description = Convert.ToString(dt.Rows[0]["description"]),
business_impact = Convert.ToString(dt.Rows[0]["business_impact"]),
severity = Convert.ToString(dt.Rows[0]["severity"])
};
return details;
}
我调试的时候知道有返回值。
我的主窗体中的按钮如下所示:
private void Button3_Click(object sender, EventArgs e)
{
var getTicket = new ticket();
getTicket.GetTicketById("1235");
ticket.Details td = new ticket.Details();
td.@ref = txtRef.Text;
td.subject = txtSubject.Text;
td.contact_name = txtContact_Name.Text;
td.company_name = txtCompany_Name.Text;
td.description = rtDescription.Text;
td.business_impact = rtBusiness_Impact.Text;
td.severity = txtSeverity.Text;
}
很遗憾,我的文本框没有显示我返回的数据表中的值。
你知道为什么吗?
【问题讨论】:
-
假设
new ticket()是您的类的实例,方法为GetTicketById()。它返回值,但你不接受它。像这样更改:var details = getTicket.GetTicketById("1235");现在设置Text属性像这样txtSubject.Text = details.subject等等 -
看起来您也将 textbox.Text 分配给您的 td.properties 而不是 "txtBox.Text = td.@ref"...
-
@Viewed:你是对的,你可以添加你的答案,我会接受,谢谢!
-
@merkithuseyin:是的,先生,您也说得对!谢谢