Good day everyone! I would like to ask for help regarding my code here. The main concern is to search from the MySQL database the keyword provided by a textbox. Here's my GUI for reference.

When I type my search key on the text box and the selected a column on the combo box, the search query will have its output on the listview. I've tried numerous combinations to gain an output, but to no avail.
Here's my code for you to help me.
Private Sub Search()
    lviClientList.Items.Clear()
    Dim strSqlSearch As String = "SELECT code, Company, StAdd, City, ContactPerson, Phone, Mobile, Email, Remarks FROM tblclients WHERE '@Column' LIKE '%" & txtSearchCriteria.Text & "%'"
    Dim item As New ListViewItem()
    If cboColumns.SelectedIndex = 0 Then
        column = "code"
    ElseIf cboColumns.SelectedIndex = 1 Then
        column = "Company"
    ElseIf cboColumns.SelectedIndex = 2 Then
        column = "StAdd"
    ElseIf cboColumns.SelectedIndex = 3 Then
        column = "City"
    ElseIf cboColumns.SelectedIndex = 4 Then
        column = "ContactPerson"
    ElseIf cboColumns.SelectedIndex = 5 Then
        column = "Phone"
    ElseIf cboColumns.SelectedIndex = 6 Then
        column = "Mobile"
    ElseIf cboColumns.SelectedIndex = 7 Then
        column = "Email"
    ElseIf cboColumns.SelectedIndex = 8 Then
        column = "Remarks"
    End If
    Dim mysqlCommand As New MySqlCommand(strSqlSearch, mysqlConnection)
    mysqlCommand.Parameters.AddWithValue("@Column", column)
    Try
        mysqlConnection.Open()
        mysqlReader = mysqlCommand.ExecuteReader()
        Do While mysqlReader.Read()
            item = lviClientList.Items.Add(mysqlReader("code").ToString)
            item.SubItems.Add(mysqlReader("Company").ToString)
            item.SubItems.Add(mysqlReader("StAdd").ToString)
            item.SubItems.Add(mysqlReader("City").ToString)
            item.SubItems.Add(mysqlReader("ContactPerson").ToString)
            item.SubItems.Add(mysqlReader("Phone").ToString)
            item.SubItems.Add(mysqlReader("Mobile").ToString)
            item.SubItems.Add(mysqlReader("Email").ToString)
            item.SubItems.Add(mysqlReader("Remarks").ToString)
        Loop
    Catch ex As Exception
        MsgBox("No results found.", MsgBoxStyle.OkOnly, "Project Analysis System")
    Finally
        mysqlReader.Close()
        mysqlConnection.Close()
    End Try
End Sub
                It is not clear why your code doesn't work well. Try to change the code in your Catch clause
MsgBox("No results found.", MsgBoxStyle.OkOnly, "Project Analysis System")
into
Msgbox(ex.Message.ToString(), MsgBoxStyle.OkOnly, "Project Analysis System")
so you will know what the exact error is.
You can concatenate the value for the ColumnName since it is statically set in your code. But the value on WHERE should be parameterized as it is the one entered by the user.
Try this modified Code,
Private Sub Search()
    lviClientList.Items.Clear()
    Dim item As New ListViewItem()
    Dim _isFound As Boolean = False
    Dim colName() As String = {"code", "Company", "StAdd", "City", "ContactPerson", "Phone", "Mobile", "Email", "Remarks"}
    Dim strSqlSearch As String = "SELECT code, Company, StAdd, City, " & _
                                    "ContactPerson, Phone, Mobile, Email, Remarks " & _
                                    "FROM tblclients " & _
                                    "WHERE " & colName(cboColumns.SelectedIndex) & " LIKE CONCAT('%', @valueName, '%')"
    Using myConn As New MySqlConnection("connectionStringHere")
        Using myComm As New MySqlCommand()
            With myComm
                .Connection = myConn
                .CommandType = CommandType.Text
                .CommandText = strSqlSearch
                .Parameters.AddWithValue("@valueName", txtSearchCriteria.Text);
            End With
            Try
                myConn.Open()
                Dim myReader As MySqlDataReader = myComm.ExecuteReader()
                While myReader.Read()
                    _isFound = True
                    item = lviClientList.Items.Add(myReader("code").ToString)
                    item.SubItems.Add(myReader("Company").ToString)
                    item.SubItems.Add(myReader("StAdd").ToString)
                    item.SubItems.Add(myReader("City").ToString)
                    item.SubItems.Add(myReader("ContactPerson").ToString)
                    item.SubItems.Add(myReader("Phone").ToString)
                    item.SubItems.Add(myReader("Mobile").ToString)
                    item.SubItems.Add(myReader("Email").ToString)
                    item.SubItems.Add(myReader("Remarks").ToString)
                End While
                If Not _isFound Then
                    MsgBox("No results found.", MsgBoxStyle.OkOnly, "Project Analysis System")
                End If
            Catch ex As MySqlException
                Msgbox(ex.Message.ToString(), MsgBoxStyle.OkOnly, "Project Analysis System")
            End Try
        End Using
    End Using
End Sub
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With