首先,抱歉(再次)因为我的英语不好。
您好。我仍然是C#.NET的新手,我们现在的任务是让我们的教授使用ADO.NET数据库建立一个简单的银行系统。我现在唯一的问题是我似乎无法从我创建的PropertyMethod
返回值。
以下是它的工作原理:我使用自动生成的用户名和密码登录,在下一个窗口中,我可以存款或取款。我想在文本框中显示从数据库中检索到的信息。
是否有正确的方法从PropertyMethod
返回值?或者我可以采用其他方式来正确检索我想要的值吗?谢谢你的所有答案。
这是我的类库的一部分,它验证登录输入并应返回我想要的值:
编辑:我试着查看调试器来跟踪值发生了什么,但是它们返回了空值。
编辑2:删除了不必要的代码。
编辑3:感谢您注意我的错误。我已经修好了。我的程序现在工作正常。
这是一个有效的方法
#region pm
public string FinalName
{
get { return finalName; }
set { finalName = value; }
}
public string FinalUname
{
get { return finalUname; }
set { finalUname = value; }
}
public string Acnum
{
get { return acnum; }
set { acnum = value; }
}
public string Pass
{
get { return pass; }
set { pass = value; }
}
public string Actype
{
get { return actype; }
set { actype = value; }
}
public string Mname
{
get { return mname; }
set { mname = value; }
}
public string Lname
{
get { return lname; }
set { lname = value; }
}
public string Fname
{
get { return fname; }
set { fname = value; }
}
decimal bal;
public decimal Bal
{
get { return bal; }
set { bal = value; }
}
public bool Dup
{
get { return dup; }
set { dup = value; }
}
#endregion
这是验证登录的代码。
public bool authenticateData(string uname, string pass)
{
bool found = false;
mySqlConnection.Open();
SqlCommand readData = new SqlCommand("AuthenticateLogin", mySqlConnection);
readData.CommandType = CommandType.StoredProcedure;
readData.Parameters.Add("@Username", SqlDbType.NVarChar).Value = uname;
readData.Parameters.Add("@Password", SqlDbType.NVarChar).Value = pass;
SqlDataReader dr;
dr = readData.ExecuteReader();
while (dr.Read())
{
found = true;
Actype = dr.GetString(3);
Bal = dr.GetDecimal(5);
Acnum = dr.GetString(6);
FinalName = dr.GetString(0) + " " + dr.GetString(2) + " " + dr.GetString(1);
break;
}
mySqlConnection.Close();
return found;
}
}
}
这是我的窗体:
private void Transact_Load(object sender, EventArgs e)
{
//here is where my bug occurs
txtName.Text = da.finalName;
txtUsername.Text = da.finalUname;
txtActType.Text = da.actype;
txtBal.Text = da.Bal.ToString();
type = txtActType.Text;
}
答案 0 :(得分:0)
在您的Windows窗体中,您正在访问名为da
的对象的属性...但那是什么?你真的在任何地方将da
设置为一类结果吗?您的示例代码不会在任何地方显示此内容。
在authenticateData
中,您使用datareader用您的结果填充某些属性,但这些属性属于什么 - 包含authenticateData
方法的类?什么是da,你期望它如何得到你的结果值?