【解決方法】こんにちは。 xampp を使用して Visual Basic プロジェクトを mysql データベースに接続しようとしています。 この Web サイトから SQL vbconnector をダウンロードしました

プログラミングQA


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 しようとすると、大きな問題が発生する可能性があります。リーダーがまだ使用しているため、サーバーはエラーをスローします。繋がり。

コメント

タイトルとURLをコピーしました