Hej! Hej, om den klagar på name kanske det är ett reserverat ord? Prova i sql-satsen skriva [name] Hej Ok, vilken fälttyp är fältet Name? Hej Vad bra det löste sig! Datatyper är klurigt i början, skillnader mellan strängar, värden och likaså null kan ställa till det. Fyll text i en textbox fån sökning
Vad ska jag ändra på när jag får detta mess vid sökning från en access databas som ska visas i en textbox.
Det går inte att konvertera strängen Name till typen Integer
Dim conn As New OleDb.OleDbConnection
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & Application.StartupPath & "\Db\Grund.mdb"
Dim cmd As New OleDbCommand
cmd.CommandText = "SELECT * FROM Grund where Name = '" & txtName.Text & "'"
cmd.Connection = conn
Try
conn.Open()
Dim rdr As OleDbDataReader = cmd.ExecuteReader
While rdr.Read
txtName1.Text = rdr.GetValue("Modellbenamning").ToString
End While
rdr.Close()
conn.Close()
Catch ex As Exception
'rdr.Close()
'conn.Close()
MsgBox(ex.Message)
Exit Sub
End Try
Tobbe
Sv: Fyll text i en textbox fån sökning
Sv:Fyll text i en textbox fån sökning
Har testat men får samma resultat vad gör jag för fel-
Felmedelande:
Det går inte att konvertera strängen Name till typen Integer
TobbeSv: Fyll text i en textbox fån sökning
Och var får du felet i koden?
Sen, du använder GetValue
txtName1.Text = rdr.GetValue("Modellbenamning").ToString
Prova att ta bort det och se vad som händer
txtName1.Text = rdr("Modellbenamning").ToStringSv:Fyll text i en textbox fån sökning
Testade att ändra
Funkar bättre nu utan GetValue
Tack
TobbeSv: Fyll text i en textbox fån sökning
Egenskapen GetValue hämtar numeriskt värde, dvs förutsätter numeriskt datafält. Hade du skrivit GetString så hade ditt problem aldrig uppstått, så du skulle således kunna ändra till GetString istället. Om du i stället bara skriver datareader("fältnamn") så hämtas namnet, eller datareader(0) så hämtas första kolumnen av datat. Intressant är att om du skriver datareader("fältnamn") så behöver också systemet ta reda på vilken kolumn som fältnamnet är på så datareader(2) är 3:e kolumnen - och också det snabbaste sättet om du skall hämta stora mängder data fort. Troligen är det bara millisekunder mellan dessa alternativ men kanske intressant att veta ibland.