Im действительно застрял, пытаясь перебирать набор данных, чтобы проверить, совпадает ли имя компании, введенное в текстовое поле (TXTBXCustomerLookup), любой из записей в наборе данных в столбце «CompanyName», когда кнопка нажимаетсяforeach через набор данных для сравнения текста текстового поля C#
до сих пор у меня есть это:
private void BTNLookupCustomer_Click(object sender, EventArgs e)
{
if ((TXTBXCustomerLookup.Text != "") && (TXTBXCustomerLookup.Text != " "))
{
foreach (DataTable table in ds.Tables)
{
foreach (DataRow row in table.Rows)
{
foreach (object item in row.ItemArray)
{
if (TXTBXCustomerLookup.Text = this.CompanyName.ToString())
{
BTNUpdateCustomer.Enabled = true;
BTNDeleteCustomer.Enabled = true;
}
}
}
}
}
}
и приходит с ошибкой «не удается неявно преобразовать тип„Строка“до«Bool»и" не удается преобразовать метод группы „ToString“ к не -delegate type 'string'. Вы намеревались вызвать метод «
Эти ошибки на линии ниже
if (TXTBXCustomerLookup.Text = this.CompanyName.ToString())
Я знаю, это должно быть что-то простое, что я делаю неправильно, но не могу думать, что и есть тратить больше часа, пытаясь понять его (используя старый испытанный Google)
'=' должно быть '=='. Но разумнее поставить 'CompanyName.ToString()' вне цикла, как в первой строке вашего кода: 'string toCompareTo = this.CompanyName.ToString();', а затем внутри цикла выполните 'if (blah.Text == toCompareTo) ... ' –
ваше сравнение this.CompanyName wth текст текстового поля. Уверен, что он не должен сравнивать значение текстового поля с элементом из последнего foreach? Если ваше сравнение правильное, вам действительно не нужны какие-либо заявления foreach, которые кажутся чем-то странным. – helgeheldre