【发布时间】:2021-04-02 07:42:14
【问题描述】:
我是 C# 新手,我一直在尝试使用 ADO.NET 和 WinForm 创建登录,但是当我尝试登录时出现此错误;
System.InvalidOperationException: 'ExecuteReader: 连接属性尚未初始化。'
我似乎不知道出了什么问题。
private void bteAdminLog_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=DESKTOP-RCPAL7F;Initial Catalog=iCubeDB;Integrated Security=True";
con.Open();
String txtUser = txtUsername.Text;
String txtPass = txtPassword.Text;
string query = "SELECT * FROM AdminLogin WHERE Username =@user AND Password = @Pass";
SqlCommand cmd = new SqlCommand();
cmd.Parameters.Add(new SqlParameter("@user", txtUser));
cmd.Parameters.Add(new SqlParameter(" @Pass", txtPass));
SqlDataReader dr = cmd.ExecuteReader();
if(dr.HasRows == true)
{
MessageBox.Show("Done");
}
else
{
MessageBox.Show("not done");
}
}
【问题讨论】:
-
不,我已经读过了
-
请注意,当您应该使用
MySqlConnection和MySqlCommand时,您使用的是SqlConnection和SqlCommand。那或者您将您的问题误认为[mysql]而不是[sql-server]。另请注意,您的第二个参数称为" @Pass",带有前导空格,而不是"@Pass"。这可能会给您带来问题。 -
您也应该使用
using处理您的连接对象