2

リモート サーバーにある MySQL データベースに C# アプリケーションを接続しようとしています。この単純なプログラムを実行しようとすると、次のエラーが発生します。sqlException was unhandled

private void button1_Click(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection("user id=student_abdo;password=XXXXXX;server=178.239.167.XXX;Trusted_Connection=yes;database=student_sms;connection timeout=30");
    SqlCommand com = new SqlCommand("UPDATE `sms` SET `id`=23 WHERE `sms`='hi'",con);
    com.CommandType = CommandType.Text;
    con.Open();
    com.ExecuteNonQuery();
    con.Close();
}
4

4 に答える 4

3

SqlClient 名前空間は、Microsoft SqlServer データベースに接続するためのものです。MySql を使用する場合は、ADO.NET 実装 (サード パーティ) を見つけるか、OleDb/Odbc で動作させる方法があるかどうかを判断する必要があります。

アップデート

どうやら、MySql はジョブを完了するための独自の ADO.NET ドライバーを提供しているようです。

于 2012-09-07T16:56:38.687 に答える
0

ダウンロードに必要なものはこちら

.NET で MySql を操作するためのクラスは、My... プレフィックスがあることを除いて、MSSQL を操作する場合とほとんど同じであることに注意してください。

private void button1_Click(object sender, EventArgs e)
{
MySqlConnection con = new MySqlConnection("userid=student_abdo;password=XXXXXX;server=178.239.167.XXX;Trusted_Connection=yes;database=student_sms;connection timeout=30");
MySqlCommand com = new MySqlCommand("UPDATE `sms` SET `id`=23 WHERE `sms`='hi'",con);
com.CommandType = CommandType.Text;
con.Open();
com.ExecuteNonQuery();
con.Close();
}
于 2012-09-07T17:21:13.263 に答える
0

Brian が指摘したように、あなたは間違ったプロバイダーを使用しています。また、接続文字列が間違っています。それは読むべきです

"Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;"

mysql のさまざまな接続文字列タイプのすべてについて、このサイトを参照できます。

于 2012-09-07T17:10:48.203 に答える