Dies ist mein erster Tag hier auf dieser Seite, auf der Suche nach großer Hilfe von jedem von euch da draußen als großartige Quelle für Anfänger wie mich . Ich hoffe, ich werde viel von dieser Seite lernen.VB.Net Wie Informationen aus Textfeldern aus SQL Server abgerufen werden Tabelle mit Select-Anweisung mit Where-Klausel
Auf den Punkt: Ich schreibe VB für Desktop-Anwendung mit VB.NET mit MS SQLServer 2014, derzeit auf meinem Rechner installiert. Mein Projektname heißt "Employees Database". Ich habe Formular mit einigen Textfeldern erstellt, wo Mitarbeiter Informationen aus der SQL Server-Tabelle "tblEmployees"
abrufen möchte Ich habe es bereits geschafft, die Listview mit Benutzerdetails aus SQL Server Tabelle "tblEmployees" mit folgendem Code zu füllen.
Imports System.Data.SqlClient
Public Class frmManageEmploye
Dim cn As New SqlConnection With {.ConnectionString = "Data Source=ANGD0542;Initial Catalog=ES&HDB;Integrated Security=True"}
Dim cmd As New SqlCommand
Dim dr As SqlDataReader
Private Sub filllistview()
cn.Open()
With cmd
.Connection = cn
.CommandText = "SELECT EmpID, EmpName, Company, JobTitle, CraftClass, CraftCode, Department, Superintendent, Nationality, HireDate, ImagePath FROM tblEmployees"
End With
dr = cmd.ExecuteReader
While dr.Read
With emplistview
.Items.Add(dr.Item(0)) ' Emp Badge
With .Items(.Items.Count - 1).SubItems
If Not IsDBNull(dr(1)) Then ' Emp Name
.Add(dr(1))
End If
If Not IsDBNull(dr(2)) Then ' Company
.Add(dr(2))
End If
If Not IsDBNull(dr(3)) Then ' Job Title
.Add(dr(3))
End If
If Not IsDBNull(dr(4)) Then ' Craft Class
.Add(dr(4))
End If
If Not IsDBNull(dr(5)) Then ' Craft Code
.Add(dr(5))
End If
If Not IsDBNull(dr(6)) Then ' Department
.Add(dr(6))
End If
If Not IsDBNull(dr(7)) Then ' Superintendent
.Add(dr(7))
End If
If Not IsDBNull(dr(8)) Then ' Nationality
.Add(dr(8))
End If
If Not IsDBNull(dr(9)) Then ' Hire Date
.Add(dr(9))
End If
If Not IsDBNull(dr(10)) Then 'Image Path
.Add(dr(10))
End If
End With
End With
End While
cn.Close()
End Sub
Private Sub frmManageEmploye_Load(sender As Object, e As EventArgs) Handles MyBase.Load
filllistview()
End Sub
...
End Class
Nun meine nächste Herausforderung ist es, die Benutzerinformationen zu den Textfeldern ich in meinem Formular abzurufen, wenn ich die Plakette Anzahl von bestimmten Mitarbeiter in der Listenansicht klicken, zusammen mit Mitarbeiter-Bild aus dem Bildpfad, Ich habe in der SQL Server-Tabelle gespeichert. Ich möchte dies erreichen durch Select-Anweisung mit Where-Klausel.
Ich bin mir sicher, dass dies die altbekannte Frage war, die jemand in der Vergangenheit bereits gestellt hatte, seit ich gerade zu VB.Net gewechselt bin. Ich versuche das zu lernen. Bitte helfen Sie, im Voraus geschätzt!
Ihr erster Fehler ist ein Listview mit einer DB-Anwendung zu verwenden. Mit einem DataGridView können Sie den gesamten Code entfernen und durch folgenden ersetzen: 'dgv.DataSource = myDataTable'. Das Problem mit dem LV ist, dass alles String ist (und es ist nicht wirklich ein Grid). – Plutonix
Hallo Plutonix, Vielen Dank für die schnelle Antwort, ich habe zwar etwas von der Verwendung der Datagrid-Ansicht, aber seit ich mich entschieden habe, mit LV nach einer Lösung zu suchen. Aber sicher werde ich irgendwann mal mit DGV versuchen. Danke – Aman124612
Also, was ist deine Frage? Sie erstellen die SELECT-Anweisung genau so, wie Sie sie jetzt haben, fügen eine WHERE-Klausel hinzu, die einen Parameter für die Badge-Nummer akzeptiert, füllen diesen Parameter mit der Nummer, die Sie abgleichen möchten, und führen die SQL-Anweisung genau wie jetzt aus. Dann verwenden Sie die Daten genau so, wie Sie die Daten jetzt verwenden. Was brauchst du mehr? –