2017-08-18 70 views
0

私はMySQLデータベースをC#を使用してwinformに接続しようとしています。私はこのエラーを受け取ります:System.ArgumentException: 'キーワードはサポートされていません:'ホスト '。私はすでに、データベースがテスト接続を使用して適切な接続を持っていることを確認しています。使用している接続文字列は、サーバーエクスプローラを使用して私に提供されたものです。調査の後、問題は私が使用しているか、app.config自体のいずれかにあります。誰もがこの問題に関して何か経験を持っているのですか、あるいはフィードバックを提供することができますか?ここで私が働いている非常に基本的なコードスニペットです:私は、Visual Studio 2017を使用してい'キーワードがサポートされていませんエラー'ドット接続とMySQLを使用

using System; 
using System.Windows.Forms; 
using System.Data.SqlClient; 

namespace savetodatabasepractice 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 

     } 


     private void button1_Click(object sender, EventArgs e) 
     { 
      using (SqlConnection conn = new SqlConnection()) 
      { 
       conn.ConnectionString = "User Id=XXXXXX;Host=localhost;Database=XXXXXX"; 
       SqlCommand insertCommand = new SqlCommand("INSERT INTO tbl_newdata (ID, Temperature, Humidity) VALUES (1, 72, 34)", conn); 
      } 
     } 
    } 
} 

は、MySQLの、MySQLサーバー、およびWAMPをConnectのキ繝ァ繝ヨ。ありがとうございました!

EDIT:ドキュメントを読んだ後、この形式でのサンプルのC#プログラムは、キーもnugetに正しいパッケージをダウンロードするのではなく、正しいリファレンスを使用するだけではありません

using System; 
using System.Windows.Forms; 
using Devart.Data.MySql; 

namespace savetodatabasepractice 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 

     } 


     private void button1_Click(object sender, EventArgs e) 
     { 
      MySqlConnection conn = new MySqlConnection("User Id=root;Host=localhost;Database=XXXXXX;"); 
      MySqlCommand cmd = new MySqlCommand(); 
      cmd.CommandText = "INSERT INTO tbl_newdata (ID, Temperature, Humidity) VALUES (1,73,32)"; 
      cmd.Connection = conn; 
      conn.Open(); 
      try 
      { 
       int aff = cmd.ExecuteNonQuery(); 
       MessageBox.Show(aff + " rows were affected."); 
      } 
      catch 
      { 
       MessageBox.Show("Error encountered during INSERT operation."); 
      } 
      finally 
      { 
       conn.Close(); 
      } 
     } 
    } 
} 

のようになります。初心者を忘れやすい!

+0

'host'の代わりに' server'を試してください –

答えて

0

DotConnect for MySQLを使用していますが、SqlConnectionクラスを使用しています。それが原因でここに問題がありますSqlConnectionはSQLServer用です。代わりにusing Devart.Data.MySql.MySqlConnectionを使用してください。

using (SqlConnection conn = new SqlConnection()) 
{ 

すべてを示すドキュメントを確認してください。 https://www.devart.com/dotconnect/mysql/docs/

+0

マニュアルを読んでいない古典的なケース!ドキュメントを読んだら、正しい参照は 'Using Devart.Data.MySql;'です。正しい方向に私を指してくれてありがとうと誰かが私と同じ問題を抱えている場合は、正しいコードで私の質問を更新します。 –

関連する問題