-1

我有这个 c# 代码的问题。我需要将它连接到 mysql、localhost 数据库,请给我正确的代码 [ connetionString = "Data Source=ServerName;Initial Catalog=root;User ID=root;Password="; ] 连接到本地主机。

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 ! ");
            }
        }
    }
}
4

4 回答 4

0

您正在使用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 驱动程序版本。

更改 DATABASE、UID 和 PASSWORD 值。

于 2013-06-07T08:53:17.517 回答
0

它应该看起来更像这样:

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 的方式。

于 2013-06-07T08:49:12.203 回答
0

看来你已经标记了 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();
            }
        }
    }
}
于 2013-06-07T09:06:51.050 回答
0

这是您需要的代码

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");
            }

    }
于 2021-06-22T22:20:45.210 回答