从类运行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显然没有问题以同样的方式触发类中的方法。有人知道我哪里错了吗?

从类运行MySQL查询时引发异常

我看不到实例化Login login的代码。你真的应该这么做。

Login login = new Login();

或者类似的东西。