-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.SqlClientSQL 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

MySql接続にタグを付けたようですので、できればmysql接続を使用したいと思います。ここからダウンロード/インストールできます: http://dev.mysql.com/downloads/connector/net/

また、try-catch-finally アプローチを使用することも賢明です。そのため、接続が開いて何らかの例外が発生した場合、接続はその後常に閉じられます。

別の追加として、接続文字列をApp.Configorに入れてWeb.Config、すべてのファイルで接続文字列を使用できるようにし、1 か所で調整するだけでよいようにすることもできます。

これがあなたを助けることを願っています

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

次のようになります。

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 に答える