[ad_1]
Saya mencoba menghubungkan proyek visual basic saya ke database mysql menggunakan xampp. Saya mengunduh sql vbconnector dari situs web ini https://dev.mysql.com/downloads/connector/net/
tetapi ketika saya mencoba untuk men-debug proyek saya, setiap perintah mysql membaca kesalahan dan jika saya pergi dan menambahkan kembali referensi mysql, semua kesalahan akan hilang tetapi kemudian jika saya men-debug lagi, masalah debugging yang sama terjadi.
Apa yang saya coba:
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
Solusi 1
Kode itu tidak melakukan apa pun dengan DB, jadi sulit untuk mengetahui apa masalah Anda. Yang dilakukan kode tersebut hanyalah menyetel string koneksi (yang akan saya bahas lagi nanti) dan tidak ada yang lain: koneksi tidak dapat digunakan – dan tetap ditangani dengan buruk.
Saat Anda mengajukan pertanyaan, Anda perlu memasukkan informasi yang relevan: “ketika saya mencoba men-debug proyek saya, setiap perintah mysql membaca kesalahan” tidak memberi tahu siapa pun apa pun karena kami tidak dapat melihat kode dengan melakukan apa pun dengan objek Command, atau memberi tahu apa yang pesan kesalahan mungkin.
Pesan kesalahan berisi banyak informasi jika Anda membacanya dengan cermat – mulai dari baris file mana yang menunjukkan masalah, hingga deskripsi masalah yang ditemukan. Jadi mulailah dari sini: Cara Menulis Kode untuk Memecahkan Masalah, Panduan Pemula Bagian 2: Kesalahan Sintaks[^] – ini berbicara tentang kesalahan sintaksis, tetapi kesalahan run time cenderung menyajikan informasi yang sama sedikit berbeda.
Ada juga artikel bagus di sini: Mengajukan pertanyaan adalah sebuah keterampilan[^] yang menjelaskan cara mengajukan pertanyaan sehingga Anda mendapatkan respons yang bermanfaat.
Kembali ke kode yang Anda tampilkan, dan ada tiga masalah yang saya lihat di sana:
1) Kata sandi Anda untuk DB multipengguna tidak boleh kosong, dan nama admin default juga tidak boleh digunakan – hal ini memungkinkan siapa pun yang ingin melakukan apa pun terhadap DB Anda: mencurinya, mengacaknya untuk meminta tebusan, atau menghancurkannya misalnya. Tetapkan kata sandi yang baik dan kuat pada akun admin yang diganti namanya dan Anda akan lebih aman.
2) Jangan melakukan hardcode string koneksi ke dalam kode Anda: ini berarti ketika Anda merilisnya, Anda harus mengubahnya untuk server produksi (atau pengujian yang lebih buruk terhadap server produksi yang bersifat bunuh diri) dan secara efektif melepaskan kode yang belum teruji! Kesalahan seperti itu dapat berdampak buruk pada klien dan berdampak negatif pada reputasi dan saldo bank Anda … Gunakan file konfigurasi untuk menyimpan string koneksi sehingga kode tidak perlu diubah saat Anda melepaskannya.
3) Jangan menggunakan kembali satu Koneksi ke DB: Buatlah saat Anda membutuhkannya di dalam a Using
blok dan sistem akan Menutup dan Membuangnya ketika Anda selesai menggunakannya. Koneksi seperti itu tidak hanya sumber daya yang langka, tetapi juga dapat menyebabkan masalah nyata jika Anda membuka DataReader pada koneksi dan kemudian mencoba menggunakan kembali koneksi yang sama untuk INSERT atau UPDATE tabel: server akan memunculkan kesalahan karena pembaca masih menggunakan koneksi.
[ad_2]
コメント