В winform Я пытаюсь сравнить возвращаемое значение набора данных с определенным значением, но я получаю следующую ошибку.Сравнение значения набора данных
В коде ниже, я передаю строку из выпадающего списка методу GetStock
public bool checkStock()
{
foreach (var listBoxItem in listBox1.Items)
{
if (Convert.ToInt32(GetStock(listBoxItem.ToString())) == 0)
{
MessageBox.Show(listBoxItem.ToString() + " not in Stock!. Please delete the item before proceeding");
return false;
}
}
return true;
}
Код для GetStock()
public DataSet GetStock(string product)
{
DataSet dataSet = new DataSet();
OleDbConnection oleConn = new OleDbConnection(connString);
try
{
oleConn.Open();
string sql = "SELECT [Quantity] FROM [Product] WHERE [Product Name]='" + product + "'";
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(sql, oleConn);
dataAdapter.Fill(dataSet, "Product");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
oleConn.Close();
}
if (dataSet.Tables["Product"].Rows.Count <= 0)
return null;
return dataSet;
}
}
}
В базе данных "Количество" находится в строчном формате.
, но здесь я имею в виду 0, когда величина становится 0 –
@AmritSharma: Под редакцией мой ответ, хотя, на мой взгляд, лучше вернуть пустой 'DataTable' или' DataSet'. Поскольку вы выбираете одну таблицу, я бы вместо этого возвращал DataTable, DataSet предполагает, что он содержит (или может содержать) несколько таблиц. –
реализовало ваше решение, но код возвращает true, хотя я задал количество как 0 в базе данных –