我有一个搜索按钮,当我点击它时,结果显示但是它有一个消息框,上面写着“从字符串转换”“到类型整数无效”。这是我的搜索代码:
Private Sub btnSearchExpenditure_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearchExpenditure.Click
Try
If txtSearchExpenditure.Text = "" Then
MsgBox("Please fill up search field!", MsgBoxStyle.Exclamation)
Exit Sub
Else
modGlobalFunctions.Connection.Close()
modGlobalFunctions.connectDatabase()
RecordCount = modGlobalFunctions.loadDataGrid("SELECT * " & _
"FROM bims_expenditure " & _
"WHERE type_id='" & TypeId & "' " & _
"AND (code LIKE '%" & txtSearchExpenditure.Text & "%' " & _
"OR object_name LIKE '%" & txtSearchExpenditure.Text & "%' ) " & _
"ORDER BY code ASC", dgvExpenditureItems)
If RecordCount = 0 Then
txtCodeExpenditure.Clear()
txtNameExpenditure.Clear()
MsgBox("No records found!", MsgBoxStyle.Exclamation)
End If
With dgvExpenditureItems
.Font = gridFont.Font
.Columns(1).Visible = False
.Columns(4).Visible = False
.Columns(5).Visible = False
.Columns(6).Visible = False
.Columns(7).Visible = False
.Columns(0).HeaderText = ""
.Columns(2).HeaderText = "Code"
.Columns(3).HeaderText = "Name"
.Columns(0).Width = 0
.Columns(2).Width = 150
.Columns(3).Width = 540
End With
frmMain.recordsLabel.Visible = True
frmMain.tssRecords.Text = RecordCount
modGlobalFunctions.Connection.Close()
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "BIMS", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
我不知道出了什么问题。有什么建议?提前致谢。上帝bLess!
答案 0 :(得分:0)
尝试将RecordCount
转换为String
,如下所示:
frmMain.tssRecords.Text = Convert.ToString(RecordCount)
正如您所说type_id
表中的bims_expenditure
列INT
,因此您需要从''
的值中移除type_id
(ig您的查询应该是WHERE type_id=" & TypeId & " "
而不是WHERE type_id='" & TypeId & "' "
)。
请尝试以下代码:
Private Sub btnSearchExpenditure_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearchExpenditure.Click
Try
If txtSearchExpenditure.Text = "" Then
MsgBox("Please fill up search field!", MsgBoxStyle.Exclamation)
Exit Sub
Else
modGlobalFunctions.Connection.Close()
modGlobalFunctions.connectDatabase()
RecordCount = modGlobalFunctions.loadDataGrid("SELECT * " & _
"FROM bims_expenditure " & _
"WHERE type_id=" & TypeId & " " & _
"AND (code LIKE '%" & txtSearchExpenditure.Text & "%' " & _
"OR object_name LIKE '%" & txtSearchExpenditure.Text & "%' ) " & _
"ORDER BY code ASC", dgvExpenditureItems)
If RecordCount = 0 Then
txtCodeExpenditure.Clear()
txtNameExpenditure.Clear()
MsgBox("No records found!", MsgBoxStyle.Exclamation)
End If
With dgvExpenditureItems
.Font = gridFont.Font
.Columns(1).Visible = False
.Columns(4).Visible = False
.Columns(5).Visible = False
.Columns(6).Visible = False
.Columns(7).Visible = False
.Columns(0).HeaderText = ""
.Columns(2).HeaderText = "Code"
.Columns(3).HeaderText = "Name"
.Columns(0).Width = 0
.Columns(2).Width = 150
.Columns(3).Width = 540
End With
frmMain.recordsLabel.Visible = True
frmMain.tssRecords.Text = Convert.ToString(RecordCount)
modGlobalFunctions.Connection.Close()
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "BIMS", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub