在VB中连接数据库出错

本文关键字:数据库 出错 连接 VB | 更新日期: 2023-09-27 18:11:26

我正在visual studio的登录功能上工作,我有下面列出的代码连接到数据库。我不知道我在这里做错了什么,但我得到了错误databaseConn.db_connection() is a method which is not valid in the given context.

using MySql.Data.MySqlClient;
namespace Connection
{
    static class databaseConn
    {
        static public void db_connection()
        {
            try
            {
                var conn = "Server=myhomeserver.net;Database=addonInstaller;Uid=root;Pwd=g278535814;";
                var connect = new MySqlConnection(conn);
                connect.Open();
            }
            catch (MySqlException e)
            {
                MessageBox.Show("Could not Connect to Server");
            }
        }
    }
}
namespace UserFunctions
{
    static class Users
    {
        static public void LoginFunc(String username, String password)
        {
            CheckUsername(username, password);
        }
        static public void CheckUsername(String username, String password)
        {
            Connection.databaseConn.db_connection();
            MySqlCommand cmd = new MySqlCommand();
            cmd.CommandText = "SELECT * FROM users WHERE username=" + username + "";
            cmd.Connection = Connection.databaseConn.db_connection.Open(); //This is my error area.
            MySqlDataReader login = cmd.ExecuteReader();
            if (login.Read())
            {
                MessageBox.Show("Continue to Login");
            } 
            else
            {
                MessageBox.Show("Username Not Found");
            }
        }
    }
}

在VB中连接数据库出错

您已经将db_connection定义为静态函数,而不是属性,因此您不能使用db_connection.Open()

您可以尝试修改db_connection以返回connection object,或将其存储为静态属性

databaseConn :

static public MySqlConnection db_connection()
{
    try
    {
        var conn = "Server=myhomeserver.net;Database=addonInstaller;Uid=root;Pwd=g278535814;";
        var connect = new MySqlConnection(conn);
        connect.Open();
        return connect;
    }
    catch (MySqlException e)
    {
        MessageBox.Show("Could not Connect to Server");
    }
    return null;
}

:

var conn = Connection.databaseConn.db_connection();
if (conn != null) 
{
    MySqlCommand cmd = new MySqlCommand();
    cmd.CommandText = "SELECT * FROM users WHERE username=" + username + "";
    cmd.Connection = conn;
    MySqlDataReader login = cmd.ExecuteReader();
    ... ...