I have a form when I select a column name from a ComboBox and type a text field that filters and displays search criteria in a DataGridView. When I search for "Reference", which is an int data type, which is also an identifier and primary key. I get an error message:
"Cannot perform" Like "operation on System.Int32 and System.String."
My code
DataTable dt; private void searchForm_Load(object sender, EventArgs e) { SqlCeConnection con = new SqlCeConnection(@"Data Source=|DataDirectory|\LWADataBase.sdf;"); SqlCeDataAdapter sda = new SqlCeDataAdapter("select * from customersTBL", con); dt = new DataTable(); sda.Fill(dt); dataGridView1.DataSource = dt; comboSearch.Items.Add("[Reference]"); comboSearch.Items.Add("[First Name]"); comboSearch.Items.Add("[Surename]"); comboSearch.Items.Add("[Address Line 1]"); comboSearch.Items.Add("[Address Line 2]"); comboSearch.Items.Add("[County]"); comboSearch.Items.Add("[Post Code]"); comboSearch.Items.Add("[Contact Number]"); comboSearch.Items.Add("[Email Address]"); } private void searchTxt_TextChanged(object sender, EventArgs e) { if (comboSearch.SelectedItem == null) { searchTxt.ReadOnly = true; MessageBox.Show("Please select a search criteria"); } else { searchTxt.ReadOnly = false; DataView dv = new DataView(dt); dv.RowFilter = "" + comboSearch.Text.Trim() + "like '%" + searchTxt.Text.Trim() + "%'"; dataGridView1.DataSource = dv; } }
source share