2016-04-13 34 views
0

Bir SQL Server veritabanındaki bir tablodan 10 sütun okumak ve bunları bir liste kutusuna kaydetmek için bir programım var. Böyle bir liste haline bir sütun okumak ve saklamak için biliyorum:VB İçin Kullanmak. Net SQL'de 10 Sütun Veritabanını okumak için

con.ConnectionString = "Data Source=127.0.0.1;Initial Catalog=RF_World;Integrated Security=True" 
con.Open() 

Dim cmd As New SqlCommand(("SELECT K0 FROM tbl_inven WHERE Serial = '3320'"), con) 
Dim myreader As SqlDataReader 

myreader = cmd.ExecuteReader() 
myreader.Read() 

If myreader.HasRows Then 
    ListBox1.Items.Add(myreader("K0")) 
End If 

con.Close() 

Nasıl 10 sütun okumak ve liste içine saklamak için?

SELECT K0, K1, K2, K3, K4, K5, K6, K7, K8, K9 
FROM tbl_inven 
WHERE Serial = '3320' 

10 sütun okumak için kullanılabilir:

Sadece 10 sütun okumak için SQL sorgusu biliyor? Zaten TO için kullanarak kodu yapmak ama

For i As Integer = 0 To 100 
     con.ConnectionString = "Data Source=127.0.0.1;Initial Catalog=RF_World;Integrated Security=True" 
     con.Open() 
     Dim cmd As New SqlCommand(("SELECT K'"&i&"' FROM tbl_inven WHERE Serial = '3320'"), con) 
     Dim myreader As SqlDataReader 
     myreader = cmd.ExecuteReader() 
     myreader.Read() 
     If myreader.HasRows Then 
      ListBox1.Items.Add(myreader("")) 
     End If 
     con.Close() 
    Next 

Herkes benim sorunu çözmek için bana yardımcı olabilir hata elde etmeye çalışmak? Eğer 100 Sql sorguları yapıyoruz sizin koduna baktığımızda benim kötü İngilizce

+0

SQL sorgunuzda neyin bulunduğunu taklit etmek için 'cmd'' SqlCommand' 'ı değiştirmeniz gerekir. Parametreli sorguyu kullanmak daha iyidir. – Ian

+0

Ben anlayamıyorum efendim –

cevap

0

için

Maalesef ... ilk SELECT K'0' FROM tbl_inven WHERE Serial = '3200' Not olarak çevirecek K'0'

10 sütun daha sonra isterseniz Aşağıdakileri yapın:

Dim SqlStr as String 
SqlStr = "SELECT " 
For x = 0 to 8 
    SqlStr += "K" & x & ", " 
Next 
SqlStr += ", K9 FROM tbl_inven WHERE Serial = '3200'" 

    con.ConnectionString = "Data Source=127.0.0.1;Initial Catalog=RF_World;Integrated Security=True" 
    con.Open() 
    Dim cmd As New SqlCommand(SqlStr, con) 
     .... 
    con.Close() 
+0

bu gibi bir hata var http://prntscr.com/arn78d –

+0

Tamam ... listesine eklemek için ne çalışıyorsun? Hata K için bir değer olmadığını gösteriyor, çünkü K'nizde K0, K1, K2 ... K9 var. – Mych

+0

K0, K1, K2, K3 ... K9 sütunlarından veri okumaya çalışıyorum ve Liste kutusuna ekle –