【发布时间】:2011-08-22 03:41:09
【问题描述】:
我得到的例外是“位置0没有行”:
我将消息框存根放在那里以验证我实际上从数据库中获得了结果。尝试了不同的查询,它似乎工作正常。但是,当我尝试从结果集中检索该信息时,我不断收到该错误。我究竟做错了什么?这是我加载的当前代码,它返回 1 个结果。我正在尝试获取一个结果并将其作为双精度返回给程序。但不管我用它做什么,我仍然得到的错误是“位置 0 没有行”。我试过位置 1 和 2,结果相同。
查询是:“select distinct sweetTarget from productInfo where flavor = '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;
}
}
}
【问题讨论】: