Saya menghadapi masalah dengan kod terakhir untuk projek sekolah saya. Saya perlu memilih berbilang nilai untuk ID yang diberikan daripada lajur "actuelewerktuigselectie". Nilai-nilai ini kemudiannya perlu dimasukkan ke dalam pembolehubah untuk kegunaan selanjutnya dalam projek.
Saya hanya mendapat nilai ID pertama. Lihat di bawah kod semasa saya. Apakah yang boleh saya ubah untuk membetulkan kod saya untuk mendapatkan semua nilai?
Dim sCnnStr As String = My.Settings.sCnnStr Dim oCnn As New MySqlConnection(sCnnStr) Dim sSql As String = "select pfProfielfreesnummer, pfLopendemeters from actuelewerktuigselectie where (awsId=@1 OR awsId=@2 OR awsId=@3 OR awsId=@4 OR awsId=@5 OR awsId=@6 OR awsId=@7 OR awsId=@8)" Dim oCmd As MySqlCommand = New MySqlCommand(sSql, oCnn) oCmd.Parameters.AddWithValue("@1", 5) oCmd.Parameters.AddWithValue("@2", 6) oCmd.Parameters.AddWithValue("@3", 7) oCmd.Parameters.AddWithValue("@4", 8) oCmd.Parameters.AddWithValue("@5", 17) oCmd.Parameters.AddWithValue("@6", 18) oCmd.Parameters.AddWithValue("@7", 19) oCmd.Parameters.AddWithValue("@8", 20) oCnn.Open() Dim myReader As MySqlDataReader myReader = oCmd.ExecuteReader() While (myReader.Read()) werktuignummer1 = (myReader.GetString(0)) LopendeMeters1 = (myReader.GetDouble(1)) werktuignummer2 = (myReader.GetString(2)) LopendeMeters2 = (myReader.GetDouble(3)) werktuignummer3 = (myReader.GetString(4)) LopendeMeters3 = (myReader.GetDouble(5)) werktuignummer4 = (myReader.GetString(6)) LopendeMeters4 = (myReader.GetDouble(7)) werktuignummer5 = (myReader.GetString(8)) LopendeMeters5 = (myReader.GetDouble(9)) werktuignummer6 = (myReader.GetString(10)) LopendeMeters6 = (myReader.GetDouble(11)) werktuignummer7 = (myReader.GetString(12)) LopendeMeters7 = (myReader.GetDouble(13)) werktuignummer8 = (myReader.GetString(14)) LopendeMeters8 = (myReader.GetDouble(15)) End While myReader.Close() oCnn.Close()
Semua kod ini saya ajar sendiri dalam beberapa bulan kerana saya tidak mendapat kursus yang saya perlukan untuk menyiapkan projek ini, tetapi saya hanya mengikutinya dan mempelajari asas vb.net dan MySql.
Lajur dan pembolehubah saya adalah dalam bahasa Belanda.
Mungkin anda mempunyai bilangan keputusan yang tidak diketahui, mungkin sehingga 8 keputusan. Jadi lebih baik menggunakan sesuatu untuk menyimpan hasil, yang storannya boleh dikembangkan mengikut keperluan untuk menampung seberapa banyak hasil yang dikembalikan daripada pertanyaan: anda boleh menggunakan Senarai untuk ini, asalkan anda mencipta sesuatu yang boleh mengandungi segala-galanya Data dikembalikan untuk setiap baris dalam pertanyaan senarai - ini boleh menjadi kelas dengan sifat yang memegang setiap pembolehubah. Mungkin lebih mudah untuk melihat kod yang saya cadangkan daripada menerangkannya:
Fungsi GetData (anda harus memberikannya nama deskriptif) akan mengembalikan senarai yang boleh anda ulangi untuk mendapatkan setiap hasil individu, seperti
Saya akan
AddWithValue
更改为Add
kerana yang pertama mungkin menyebabkan masalah yang tidak dijangka. Saya menukar nama parameter untuk bermula dengan huruf untuk mengelakkan masalah lain yang tidak dijangka.Gunakan pengisytiharan a> untuk memastikan perkara yang perlu berurusan dengan sumber yang tidak terurus dijaga.