Det lyder jo mystisk. Måske vi også skal den uinteressant kode ;) Er den linie du anfører i spørgsmålet også den linie hvor exception opstår? Har du et link til siden?
str = "select * from postings join Main_Categories on Sub_1_ID = Main_CatID left join Sub_category_2 on Category_ID = Sub_Cat2_ID left join Sub_category_1 on sub2_sub1ID = subcat1_ID where posting_ID ='" & PostID & "'"
strSQL2 = New SqlCommand(str, SqlConnection1) SqlConnection1.Open() reader2 = strSQL2.ExecuteReader
If reader2.Read Then TextBox1.Text = reader2.Item(1) TextBox2.Text = reader2.Item(2)
lstmainUpdate() Dim test As String = reader2.Item(9)
TextBox2.Text = test lstMainCat.SelectedIndex = reader2.Item(9)
lstmainUpdate() gør følgende:
Private Sub lstmainUpdate() Dim conn As String = ConfigurationSettings.AppSettings("conn")
Me.SqlConnection1 = New System.Data.SqlClient.SqlConnection Me.SqlConnection1.ConnectionString = conn
1) Aldrig brug "SELECT * ..." men skriv de felter du får brug for men gode navne. 2) Aldrig aflæse samme felt 2 gange - enkelte gang virker det ikke. I dit tilfælde ændrer du til (sådan ca.)
lstmainUpdate() Dim test As int32 = reader2.Item(9) TextBox2.Text = "" & test lstMainCat.SelectedIndex = test 3) ALDRIG skriv VB.NET kode uden "option strict" (og heller ikke uden "option explicit")
4) Aflæs felter i samme rækkefølge som de står i SELECT-sætningen - enkelte gange kan det være nødvendigt, afhængigt af valgt driver og andre ting. Det gør du så rigtigt her, så det er jo godt nok.
5) Lav kun en connection til din database - hver connection koster tid, og een er nok. 6) Hent data ud fra din reader2, luk den, og kald så bagefter din lstmainUpdate()
Nu kan jeg ikke huske .NETs listbox udenad, men du kan altid løbe dens items igennem - søge efter dens value, og så sætte det pågældende index som selected. Kræver en lille løkke.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.