从类运行MySQL查询时引发异常
本文关键字:异常 查询 运行 MySQL | 更新日期: 2023-09-27 18:00:51
Hie,我在尝试从C#类运行sql查询时遇到了一些危机。它在以前的登录页面上运行得很好,当我把它移到上面时,我几乎没有改变。
类中的SQL查询:
namespace Masca
{
public class loginc
{
// Telling the class that the page 'Login' exists.
public Login login;
public void Login ()
{
// connection parameters
string sqlcon = "datasource=localhost;port=3306;username = root; password = root";
//Command to carry out -This is what the exception highlights when it's thrown.
string query = "SELECT * FROM logon.login where username = '" + login.username.Text + "' and password = '" + login.password.Password + "';";
MySqlConnection con = new MySqlConnection(sqlcon);
MySqlCommand cmd = new MySqlCommand (query,con);
MySqlDataReader rdr;
con.Open();
rdr = cmd.ExecuteReader();
int count = 0;
while (rdr.Read())
{
count = count + 1;
}
if (count == 1)
{
//If the username and password match those in the database table, run the method 'login' in the login page cs.
login.login();
}
else
{
// if they don't match, run the method 'failLogin' in the login page cs.
login.failLogin();
}
}
在login.cs中,我有两个文本框和一个按钮。一个用于用户名,一个用于密码。该按钮应触发上述代码:
public void Logon_Click(object sender, RoutedEventArgs e)
{
loginc.Login();
}
它做得很好。然而,我在查询中遇到了典型的"Object reference not set to a instance of a Object"异常。当我输入实际凭据而不是"+login.username.Text+"answers"+login.password.password+"时,会在"login.login(("上引发异常。
我不明白为什么loginc.cs类拒绝与login.cs相关,但login.cs显然没有问题以同样的方式触发类中的方法。有人知道我哪里错了吗?
我看不到实例化Login login
的代码。你真的应该这么做。
Login login = new Login();
或者类似的东西。