【问题标题】:MySql wont connect to datagrid wpfMySql不会连接到datagrid wpf
【发布时间】:2020-04-03 19:53:41
【问题描述】:

我的 WPF 数据网格出现问题。我根本无法让它与我的 MySql 数据库连接。我已经尝试了很多东西,并且改变了我的代码一百次。我得到它无法连接MySql等的错误。

感谢所有帮助:)

namespace Uniscrap_DocumentPacker
{

    public partial class Uniscrap : Window
    {

        public Uniscrap()
        {
            InitializeComponent();
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            {
                MainWindow MainWin = new MainWindow();

                MainWin.Show();
                Close();
            }
        }

        private void btnFill_Click_1(object sender, RoutedEventArgs e)
        {
            {
                try
                {
                    string connectionString = "Server=server.ip ;Database=dbName;User Id=User Id;Password=pass";
                    MySqlConnection con = new MySqlConnection(connectionString);
                    MySqlCommand cmd = new MySqlCommand("SELECT * FROM Importer", con);
                    con.Open();
                    MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
                    DataTable dt = new DataTable();
                    adapter.Fill(dt);
                    myDataGrid.ItemsSource = dt.DefaultView;
                    cmd.Dispose();
                    con.Close();
                }
                catch (Exception ex)
                {


                }
            }
        }
        public System.Windows.ResizeMode ResizeMode { get; set; }

    }


}

【问题讨论】:

  • 您的 sql server 上设置了哪种类型的身份验证?您是否有任何防火墙可能会阻止您在端口 1433 上的连接?
  • 它的 Sql server 身份验证,我在哪里检查防火墙。?
  • 删除 catch{} 并检查错误。至少记录错误。可能有一个异常抱怨无效的 User ID 关键字被 catch{} 隐藏
  • SQL Server 和 MySQL 是两个完全不同的数据库产品。
  • 我使用你的代码连接到我的 MySQL,它连接良好,没有错误。我也可以读取数据。检查你的防火墙或端口对你的 mySQL 3306 的访问(除非它有别的东西)

标签: c# mysql wpf


【解决方案1】:

您的 SQL 连接字符串和方法是有效的,我可以使用它连接到我的 MySQL 服务器并检索数据,而无需进行任何更改(好吧,除了数据库名称等)。

请检查

  1. 您的服务器 IP 有效
  2. 您使用的是正确的数据库名称...(不是表)
  3. 您有权连接到 MySQL 服务器使用的端口(默认 3306)(您可以使用 powershell 检查端口访问:Test-NetConnection -ComputerName server -Port 3306
  4. 使用 Workbench 或任何其他 MySQL UI 从已部署代码的系统进行连接,以查看是否可以连接到 DB。

我会发布有效的代码,但你的已经发布了!!

【讨论】:

  • @ThobiasFiskerMunkstrup 查看更改后的建议
  • 出了什么问题,您是如何解决的?你能和我们分享一下吗:)
  • 问题是一些语法错误。首先,我不知道 MySql 和 Sql Server 不一样。新手大错。然后我遇到了一个很容易修复的端口问题:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-09
  • 2021-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-27
  • 1970-01-01
相关资源
最近更新 更多