【问题标题】:Mysql database connection?mysql数据库连接?
【发布时间】:2023-03-27 23:55:01
【问题描述】:

我已经有一个 MySQL 数据库。

我想在 C# 中使用 WPF 应用程序。我创建了项目并毫无错误地编写了连接线。

如何确保连接正常?此代码不会返回错误,但我会检查“查询”cmd 中的数据。

这是连接代码:

        string connectionString = "SERVER=localhost;DATABASE=dbamne;UID=root;PASSWORD=pass;";

        MySqlConnection connection = new MySqlConnection(connectionString);

        MySqlCommand cmd = new MySqlCommand("SELECT * FROM table WHERE name = 'name';", connection);

        connection.Open();

【问题讨论】:

  • 真正的问题是:你的代码有什么问题?
  • 代码没有返回错误,但数据库没有出现在服务器资源管理器窗口中,所以我想检查一下这段代码是否有效。
  • 除非您添加它,否则我认为服务器不会出现在该窗口中。请注意,Visual Studio 是一个集成开发环境。它不会执行您的代码本身。它就像一个具有很多有用功能的文本编辑器,对吧?
  • 定义“工作”——它有你想要的效果吗?由于您不执行命令,因此很难知道。另请注意,连接、命令等都是一次性的 - 所以你应该确保将它们处理掉(通常通过using
  • 好的,谢谢大家。已解决。

标签: c# mysql linq stored-procedures


【解决方案1】:

基本上你可以使用example at MSDN的方法检查你的连接:

// ...

using (var connection = new MySqlConnection(connectionString))
{
    connection.Open();
    Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
    Console.WriteLine("State: {0}", connection.State);
}

但如果你想直接执行你的命令,你应该使用ExecuteReader at command(或异步模拟)方法,如MSDN recomended

// ...

using (var connection = new MySqlConnection(connectionString))
{
    connection.Open();

    var command = new MySqlCommand("SELECT * FROM table WHERE name = 'name';", connection);

    using (var reader = command.ExecuteReader())
    {
        while (reader.Read())
        {
            /* This code shows just values from first column of your result table */
            Console.WriteLine(reader[0]);
        }
    }
}

【讨论】:

    猜你喜欢
    • 2013-12-01
    • 1970-01-01
    • 2018-12-21
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多