2017-09-14 12 views
0

Exceptionは、ホスト 'XX'はこのMySQLサーバーへの接続が許可されていません。私はVB.Netを使用していますが、MySQLに接続するConnect.vbクラスがあり、存在しない場合はデータベースを作成しています。ホストは接続できません

MySqlConnection conn = new MySqlConnection("server=localhost;uid=root;pwd=root;"); 
     MySqlCommand pst = new MySqlCommand(); 
     try 
     { 
      conn.Open(); 
      pst.Connection = conn; 
      pst.CommandText = "CREATE DATABASE IF NOT EXISTS StocksManagerDB"; 
      pst.ExecuteNonQuery(); 
      conn.Close(); 
      conn = new MySqlConnection("server=localhost;database=StocksManagerDB;uid=root;pwd=root;"); 
      conn.Open(); 
      conn.Close(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Failure to connect to database.\nApplication will now exit.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
      conn.Close(); 
      Application.Exit(); 
     } 

データベースの作成クエリが正しく実行されます。 ログインフォームにログインすると、その例外が表示されます。 私はすでにthisを試しましたが、それでも私は同じ例外を与えてくれます。 これはログインのコードです。ロードイベントで、私はこの

conn = Connect.ConnectDB() 

を入れて、これはコードであるとき、ログイン中button_clickイベント

conn.Open(); 
      pst.CommandText = "SELECT * FROM tblLogin WHERE `Username` ='" + txtUsername.Text + "' AND `Password` ='" + txtPassword.Text + "'"; 
      rs = pst.ExecuteReader(); 
      if (rs.Read() == true) 
      { 
       Login_Success(); 
      } 
      else 
      { 
       MessageBox.Show("Login Failed!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
       txtUsername.Clear(); 
       txtPassword.Clear(); 
       txtUsername.Focus(); 
      } 
      conn.Close(); 
+0

コードを画像として送信しないでください。 Strg + Kを使用してコードをあなたの質問にコピーしてください –

+0

@RodKimble投稿を編集しました。もう一度見てください。ありがとうございました。 – Ajax

+0

ログインフォームからデータベースにアクセスするコードを投稿することはできますか?それはあなたのエラーの場所ですか?私は思っている以上(上記以外の理由であなたはrootとして接続していますか?) –

答えて

0

オープンMySQLのワークベンチFO。ユーザーと特権を移動します。ユーザーのホストを '%'に置き換えます。代わりにrootアカウントを使用してユーザーを作成しています。下部にあるアカウントの追加をクリックします。必要な情報を入力します。次に、タブのスキーマ特権をクリックします。エントリの追加をクリックして、このユーザーがアクセスおよびアクセスを許可されているものを追加します。あなたのアプリのユーザー/パスワードを使用してください。

とにかくmysqlセキュリティについて少し読んでください。必要な時間を過ごしてください。

また、クエリにパラメータを入れてクエリを構築したくない場合もあります。 SQLインジェクション攻撃について読む。

関連する問題