Отображение данных из базы данных в текстовых полях VB.net доступ
Здравствуйте, я пытаюсь отобразить данные из моей базы данных в текстовых полях, которые соответствуют тексту поля со списком, однако безуспешно. Все отображаемые текстовые поля равны 0
Вот код, который у меня уже есть.
Private Sub ComboBox42_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox42.SelectedIndexChanged dataFile = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Simon\Documents\Visual Studio 2010\Projects\UWOShipTool\UWOShipTool\Ship.mdb" connString = dataFile myConnection.ConnectionString = connString Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM [Ships] WHERE [Name] = '" & ComboBox42.Text & "'", myConnection) myConnection.Open() Dim dr As OleDbDataReader = cmd.ExecuteReader While dr.Read Found = True Name = dr("Name") Dura = dr("Dura") Vertical = dr("Vertical") Horizontal = dr("Horizontal") Row = dr("Row") Turn = dr("Turn") Wave = dr("Wave") Armor = dr("Armor") Cabin = dr("Cabin") CannonChambers = dr("Cannon Chambers") Cargo = dr("Cargo") End While TextBox1.Text = Dura TextBox2.Text = Vertical TextBox3.Text = Horizontal TextBox4.Text = Row TextBox5.Text = Turn TextBox6.Text = Wave TextBox7.Text = Armor TextBox8.Text = Cabin TextBox9.Text = CannonChambers TextBox10.Text = Cargo TextBox11.Text = Adv TextBox12.Text = Trade TextBox13.Text = Battle myConnection.Close()
Заранее спасибо. :)
CHill60
Когда вы отлаживаете этот код вы действительно входите в цикл While dr.Read
? Вы входите в него только один раз?
Подумайте (серьезно) об использовании параметризованных запросов, чтобы избежать риска sql-инъекции и сделать ваши sql-запросы более надежными.
Попробуйте прочитать эту статью - Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Sdolby
В этом случае мне не нужно беспокоиться об инъекции. Поскольку нет никакого способа, которым они могут вводить данные, и все это контролируемые входы. Однако, когда я писал этот код, я был совсем новичком в SQL, и теперь я знаю лучше, что я параматериализирую его(и даже почти не пишу в нем VB.net)