我在窗体上有一个TextBox和一个ListView。 ListView已连接到MS SQL数据库。
我想在TextBox中写文本,并在ListView的其中一列中搜索此文本。
我将此代码添加到了TextBox的TextChanged
事件处理程序中。
这段代码有什么问题?
Private Sub WyszukajUmowyNajmow()
Dim conn As SqlConnection = New SqlConnection()
Dim cmd As SqlCommand = New SqlCommand()
Dim da As SqlDataAdapter = New SqlDataAdapter()
Dim dt As DataTable = New DataTable()
Try
sql = "SELECT UN.NUMER_UMOWY, UN.DATA_UMOWY, RO.RODZAJ_NAJMU, CZ.WYSOKOSC_CZYNSZU_NETTO, CZ.CZYNSZ_WYRAZONY, CZ.ZAPLATA_CZYNSZU,
CZ.TERMIN_ZAPLATY, UN.DATA_OD, UN.DATA_DO, UN.WYSOKOSC_KAUCJI_NETTO, CHP.NR_FABRYCZNY, CHP.NR_REJESTRACYJNY
FROM N_UMOWY_NAJMOW AS UN
INNER JOIN N_CZYNSZ AS CZ
ON UN.ID_CZYNSZU = CZ.ID_CZYNSZU
INNER JOIN N_CHARAKTERYSTYKA_POZ_POJAZDU AS CHP
ON UN.ID_CHARAKTERYSTYKI_POJAZDU = CHP.ID_CHARAKTERYSTYKI_POJAZDU
INNER JOIN N_RODZAJ_NAJMU AS RO
ON UN.ID_RODZAJU_NAJMU = RO.ID_RODZAJU_NAJMU
WHERE CHP.NR_FABRYCZNY LIKE ' % " & TextBox.Text & " % ' "
connection()
command = New SqlCommand(sql, con)
DataReader = command.ExecuteReader()
listaUmowNajmow.Items.Clear()
Dim x As ListViewItem
Do While DataReader.Read = True
x = New ListViewItem(DataReader("NUMER_UMOWY").ToString)
x.SubItems.Add(DataReader("DATA_UMOWY"))
x.SubItems.Add(DataReader("RODZAJ_NAJMU").ToString)
x.SubItems.Add(DataReader("WYSOKOSC_CZYNSZU_NETTO").ToString)
x.SubItems.Add(DataReader("CZYNSZ_WYRAZONY").ToString)
x.SubItems.Add(DataReader("ZAPLATA_CZYNSZU").ToString)
x.SubItems.Add(DataReader("DATA_OD"))
x.SubItems.Add(DataReader("DATA_DO"))
x.SubItems.Add(DataReader("TERMIN_ZAPLATY").ToString)
x.SubItems.Add(DataReader("NR_REJESTRACYJNY").ToString)
x.SubItems.Add(DataReader("NR_FABRYCZNY").ToString)
x.SubItems.Add(DataReader("WYSOKOSC_KAUCJI_NETTO").ToString)
listaUmowNajmow.Items.Add(x)
Loop
Catch ex As Exception
MsgBox(ex.Message)
Finally
command.Dispose()
con.Close()
End Try
End Sub
答案 0 :(得分:0)
编译此代码时我没有任何错误,但是当应用程序运行时,我想在TextBox中写(事件TextBox_TextChanged),然后在ListView上我看不到任何项目,但应该在那儿。当表单加载时,我从MS SQL数据库中看到ListView项。有人知道这段代码有什么问题吗?