Исключением, которое я получаю, является «Нет строки в позиции 0»:
Я поместил заглушку в поле сообщения, чтобы убедиться, что я действительно получаю результат из базы данных.Пробовал разные запросы, и, кажется, работает нормально.Однако, когда я пытаюсь извлечь эту информацию из результирующего набора, я продолжаю получать эту ошибку.Что я делаю неправильно?Вот текущий код, который я загрузил, он возвращает 1 результат.Я пытаюсь взять этот один результат и вернуть его в программу как двойной.Но независимо от того, что я делаю с этим, ошибка, которую я все еще получаю, это "нет строки в позиции 0".Я попробовал позиции 1 и 2, и получил тот же результат.
запрос: «выберите отличную sweetTarget из productInfo где flavour = 'Classic Coke'"
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;
namespace DatasetTest1
{
class dataLayer
{
static string connectionString = "Data Source=HALEY;Initial Catalog=cokeDatabaseSQL;Integrated Security=True";
static SqlConnection conn = new SqlConnection(connectionString);
static string sql = "select distinct sweetTarget from productInfo where flavor = 'Classic Coke'";
static SqlDataAdapter da = new SqlDataAdapter(sql, conn);
static cokeDatabaseSQLDataSet dataTable = new cokeDatabaseSQLDataSet();
public static double getTargetBrix()
{
double value = 0.00;
try
{
conn.Open();
int affectedRows = da.Fill(dataTable);
if (affectedRows > 0)
{
MessageBox.Show("Rows Returned: " + affectedRows);
value = dataTable.productInfo[0].sweetTarget;
}
else
MessageBox.Show("Empty Set");
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
finally
{
conn.Close();
}
return value;
}
}
}