[ad_1]
xampp を使用して Visual Basic プロジェクトを mysql データベースに接続しようとしています。 この Web サイト https://dev.mysql.com/downloads/connector/net/ から SQL vbconnector をダウンロードしました
しかし、プロジェクトをデバッグしようとすると、すべての mysql コマンドでエラーが読み取られ、mysql 参照を再追加するとすべてのエラーが消えますが、再度デバッグすると同じデバッグ問題が発生します。
私が試したこと:
Imports MySql.Data.MySqlClient Imports System.IO Module databaseconn Public conn As MySqlConnection Public dr As MySqlDataReader Public flag As Boolean Public dt As DataTable Public da As MySqlDataAdapter Public i As Integer Public ds As DataSet Public cmd As MySqlCommand Public result As Boolean Public Function dbconn() As Boolean Try If conn.State = ConnectionState.Closed Then conn.ConnectionString = "server=localhost;username=root;password=;database=database" result = True End If Catch ex As Exception result = False MsgBox(ex.Message) End Try Return result End Function End Module
解決策 1
このコードは DB に対して何も行わないため、問題が何であるかを解明するのは困難です。 このコードは、接続文字列 (これについては後で説明します) を設定するだけで、他には何も行いません。接続は使用できず、とにかく不適切に処理されます。
質問するときは、関連情報を含める必要があります。「プロジェクトをデバッグしようとすると、すべての mysql コマンドでエラーが読み取られます」では、コードが表示されないため、Command オブジェクトで何も実行されないため、誰にも何も伝わりません。エラーメッセージが表示される場合があります。
エラー メッセージには、注意深く読むと、どのファイルのどの行に問題があったのか、見つかった問題の説明に至るまで、豊富な情報が含まれています。 ここから始めましょう: 問題を解決するコードの書き方、初心者ガイド パート 2: 構文エラー[^] – 構文エラーについて説明していますが、実行時エラーでは、同じ情報が少し異なる方法で表示される傾向があります。
ここにも良い記事があります: 質問することはスキルです[^] ここでは、有益な回答を得るために質問する方法を説明します。
表示されているコードに戻ると、そこには 3 つの問題があることがわかります。
1) マルチユーザー DB のパスワードを空白にすることはできません。また、デフォルトの管理者名を使用することもできません。そうすると、DB を盗んだり、身代金を要求したり、破壊したりするなど、誰でも DB に対して何かを行うことができます。 名前を変更した管理者アカウントに適切で強力なパスワードを設定すると、より安全になります。
2) 接続文字列をコードにハードコーディングしないでください。つまり、リリースするときに、実稼働サーバー用に変更し (あるいは、自殺行為となる実稼働サーバーに対して最悪のテスト)、テストされていないコードを事実上リリースする必要があります。 このような失敗は、クライアントに悪影響を及ぼし、あなたの評判や銀行残高に悪影響を与える可能性があります…リリース時にコードを変更する必要がないように、構成ファイルを使用して接続文字列を保持します。
3) DB への単一の接続を再利用しないでください。DB 内で必要なときに接続を作成します。 Using
ブロックすると、使い終わったらシステムが閉じて破棄します。 このような接続はリソースが不足しているだけでなく、接続上で DataReader を開いて、同じ接続を再利用してテーブルを INSERT または UPDATE しようとすると、大きな問題が発生する可能性があります。リーダーがまだ使用しているため、サーバーはエラーをスローします。繋がり。
[ad_2]
コメント