【发布时间】:2015-08-28 12:16:17
【问题描述】:
这是来自使用数据库的注册应用程序的一段代码。因为我可以说我知道 OOP 的基本原理,所以我理解这段代码除了第一行。 一个对象(阅读器)如何成为另一个类(SqlCommand)中另一个对象(cmd1)的方法(ExecuteReader())? 我希望我可以创建一个对象的唯一方法是这样写:(类对象=新类())。 也欢迎提供解释这一点的链接。
using(SqlDataReader reader = cmd1.ExecuteReader())
{
if (reader.Read())
{
reader.Close();
if (textBox4.Text == textBox5.Text)
{
using (SqlCommand cmd = new SqlCommand("UPDATE info SET Password=@Password WHERE Id=@Id AND Password=@Password1", conn))
{
cmd.Parameters.AddWithValue("@Password", textBox4.Text);
cmd.Parameters.AddWithValue("@Id", textBox3.Text);
cmd.Parameters.AddWithValue("@Password1", textBox2.Text);
cmd.ExecuteNonQuery();
}
MessageBox.Show("Password has been changed");
}
else
MessageBox.Show("The new password doesn't match the one written in repeat the new password blank space ");
}
else
MessageBox.Show("Wrong Id or Password");
}
【问题讨论】:
-
您知道方法如何返回值,例如 int 或 string?它们也可以返回对象的实例。
ExecuteReader返回SqlReader对象的实例。using块使用该对象,然后一旦该块完成它就会摆脱该对象。 -
方法可以返回对象。如果每个返回类型都必须是
void,那么编写一个面向对象的系统将非常困难。
标签: c# sql sqldatareader