"Невозможно выполнить операцию "как" над system.single и system.string".
я создаю приложение win form , используя базу данных access в качестве источника данных, и в кнопке поиска моей winform у меня есть этот код"
private void searchAccessDatabase() { if (string.IsNullOrEmpty(KeywordTextBox.Text.Trim())) { Refreshdata(); return; } string strkeyword = KeywordTextBox.Text.Trim().ToString(); StringBuilder sb = new StringBuilder(); sb.AppendFormat("(Convert(ID,'System.String') LIKE '" + "{0}" + "')", strkeyword); sb.AppendFormat("OR (Customer_Name LIKE '*" + "{0}" + "*')", strkeyword); sb.AppendFormat("OR (Complaint_Number LIKE '*" + "{0}" + "*')", strkeyword); sb.AppendFormat("(Convert(Size,'System.String') LIKE '" + "{0}" + "')", strkeyword); sb.AppendFormat("OR (Material_Number LIKE '*" + "{0}" + "*')", strkeyword); sb.AppendFormat("OR (Nature_Of_Problem LIKE '*" + "{0}" + "*')", strkeyword); sb.AppendFormat("OR (Spool_Type LIKE '*" + "{0}" + "*')", strkeyword); string strFilter = sb.ToString(); material_Return_DataBindingSource.Filter = strFilter; if (material_Return_DataBindingSource.Count != 0) { dataGridView1.DataSource = material_Return_DataBindingSource; } else { MessageBox.Show("No Records Found", "Search Result", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); Refreshdata(); return; } }
Но во время работы появляется следующая ошибка: "не удается выполнить операцию "как" в системе.Одиночный и системный.Строка.'
Я знаю, что ошибка связана с типом формата ячеек и типом поиска, который я использую, но я не могу их исправить, так как я все еще учусь на этом : кто-нибудь, пожалуйста, поправьте меня, где я ошибаюсь.
Что я уже пробовал:
Это примерная таблица данных , которая поможет вам увидеть примерные данные, которые я ввожу в таблицу, с помощью которой я хочу выполнить поиск
ID 10 Returned_Date 23-Mar-20 Customer_Name XXXX Complaint_Number C20-02 Spool_Number QF18087829 Size 330 12_NC Q123456 Material_Number 12345P DOP 12-03-2020 Qty_Sent_Grams 1.371000051 Qty_Sent_Meter 1.371000051 Qty_Returned_Grams 0.305000007 Qty_Returned_Meter 0.305000007 Difference_Qty_Grams 0 Difference_Qty_Meters 0 Nature_Of_Problem wwwww Type _of_material EPS Spool_Type S200(ABS) Remarks wwwww
Sandeep Mewara
Я не уверен, думаю, что это не должно быть в одинарных кавычках: 'System.String'
Sandeep Mewara
Кстати, я бы использовал String.format() для удобства чтения здесь за счет производительности.
GenJerDan
Как бы вы хотели работать над номером? 3-это как 13? Или 4-это как 3, только немного больше?
В любом случае, проверьте CAST и CONVERT, превратите число в строку и сделайте сравнение с недавно преобразованной строкой.