【发布时间】:2016-04-25 18:23:53
【问题描述】:
为了让事情简洁明了:
我正在尝试将我的 Windows 窗体应用程序连接到 mySQL 服务器。 我已按照网络上的所有说明进行操作,但没有成功。
我已按照本文中的所有步骤操作,但没有成功: http://net-informations.com/q/faq/mysql.html
无论我尝试什么,它都无法连接。
我已经安装了: - mysql 连接器
我还在顶部添加了 mysql.data 引用。
奇怪的是,连接到本地 sql server 不是问题。 它将连接而不会出现任何故障。
这是我正在运行的代码(本地 SQL):
using System;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace csharp_mysql
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try {
MySqlConnection myConn = new MySqlConnection("Server=localhost;Database=users;Uid=root;Pwd=plopPlop1234;");
myConn.Open();
MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
MySqlCommand selectCommand = new MySqlCommand("select * from users.users where username='" +textBox1.Text+ "' and password='" +textBox2.Text+ "'", myConn);
MySqlDataReader myReader;
myReader = selectCommand.ExecuteReader();
MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter);
int count = 0;
while (myReader.Read())
{
count += 1;
}
if (count == 1)
{
MessageBox.Show("Login successful");
Form2 f2 = new Form2();
f2.Show();
this.Hide();
}
else if(count > 0)
{
MessageBox.Show("duplicate username and password");
}
else
{
MessageBox.Show("username or password not found");
}
textBox1.Clear();
textBox2.Clear();
}
catch(Exception ex)
{
MessageBox.Show("There is no connection to be made);
}
}
一旦我将凭据更改为另一个真正的 mysql 服务器(我自己的主机),它将停止连接。
这里有什么问题,我在这里缺少什么?
【问题讨论】:
-
失败的连接字符串是什么样的? (当然会隐藏用户名/密码)。
-
如果我使用相同的代码设置将凭据更改为我自己的 mysql 服务器的凭据,我会收到以下消息框:“没有要建立的连接”,也就是我的异常消息。 PS:我已经仔细检查了我的凭据并在另一个 PHP 项目上对其进行了测试,它连接没有问题。
-
localhost对你真正的 MySql 服务器还有意义吗? -
@Azzazzell:“没有要建立的连接”是您自己的自定义错误消息,它没有提供太多信息。异常中的实际错误消息是什么?
-
我的错...实际的错误是:“无法连接到任何指定的 MySQL 主机。”}.
标签: c# mysql sql visual-studio windows-forms-designer