我对这段 C# 代码有疑问。我需要将其连接到 mysql、localhost 数据库,请给我正确的代码以 [connetionString = "Data Source=ServerName;Initial Catalog=root;User ID=root;Password="; ] 连接到 localhost。
using System;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string connetionString = null;
SqlConnection cnn ;
**connetionString = "Data Source=ServerName;Initial Catalog=localhost;User ID=root;Password=";**
cnn = new SqlConnection(connetionString);
try
{
cnn.Open();
MessageBox.Show ("Connection Open ! ");
cnn.Close();
}
catch (Exception ex)
{
MessageBox.Show("Can not open connection ! ");
}
}
}
}
它应该看起来更像这样:
connetionString = "Data Source=localhost;Initial Catalog=<Name of the Database>;User ID=root;Password=";
数据源属性是您放置网络位置的位置,初始目录是数据库的名称(在mysql中)。
编辑:
但是,我相信您将需要 mysql 库,但我注意到您一开始并不需要
using
。
从这里获取它们:http://dev.mysql.com/downloads/connector/net/
Data.SqlClient 命名空间通常是连接到 MSSQL 的方式。
看来你已经标记了MySql连接,所以最好你想使用mysql连接。您可以在这里下载/安装:http://dev.mysql.com/downloads/connector/net/
使用 try-catch-finally 方法也是明智的。这样,当连接打开时,发生一些异常,连接随后总是会关闭。
作为另一项补充,您可以将连接字符串放在
App.Config
或 Web.Config
中,这样您的所有文件中都可以使用连接字符串,并且只需在一个位置进行调整。
希望这对你有帮助
using System;
using System.Windows.Forms;
using MySql.Data.MySqlClient; //using the mysql dll
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string connectionString = "Data Source=localhost;Initial Catalog=myDb;User ID=MyUser;Password=MyPass";
MySqlConnection cnn = new MySqlConnection(connectionString);
try
{
cnn.Open();
MessageBox.Show("Connection Open ! ");
}
catch (Exception ex)
{
MessageBox.Show("Can not open connection ! ");
MessageBox.Show(ex.Message); //shows what error actually occurs
}
finally
{
cnn.Close();
}
}
}
}
您在连接中使用了
System.Data.SqlClient
,我认为它用于 SQL Server。您的连接字符串也不适用于 MySQL 数据库。试试这个。
using System.Data.Odbc;
string connectionString = "DRIVER={MySQL ODBC 5.1 Driver}; SERVER=localhost;
DATABASE=dbname; UID=myuserid; PASSWORD=mypassword;OPTION=3; POOLING=false;";
OdbcConnection DBCon = new OdbcConnection(connectionString);
if (DBCon.State == ConnectionState.Open)
{
DBCon.Close();
}
DBCon.Open();
MessageBox.Show ("Connection Open ! ");
DBCon.Close();
根据您使用的情况更改 ODBC 驱动程序版本。
更改数据库、UID 和密码值。
这是您需要的代码
private void btnConnect_Click(object sender, EventArgs e)
{
string MyConStr = "Server=localhost;Database=YourDB;Username=YourUsername;Password=YourPassword";
MySqlConnection conn = new MySqlConnection(MyConStr);
conn.Open();
if (conn.State == ConnectionState.Open)
{
MessageBox.Show("Connection Opened Successfully");
conn.Close();
}
else
{
MessageBox.Show("Error Connecting to DataBase");
}
}