我的计划表有15个字段,使用ExecuteScalar似乎只抓取第一列的结果,我该如何指定我想要的列名?例如,当我运行下面的代码时,它会返回1,这是我的ID列中的值,但我需要plan_rate
列。ExecuteScalar - 特定列
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["CustomerDataConnectionString"].ConnectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM [dbo].[plans] WHERE age_group = @age_group AND coverage_type = @coverage_type", conn);
cmd.Parameters.AddWithValue("@age_group", dd_ageGroup.Text);
cmd.Parameters.AddWithValue("@coverage_type", dd_coverageType.Text);
Object result = cmd.ExecuteScalar();
if (result != null)
Label1.Text = "Plan rate: $" + result.ToString();
else
Label1.Text = "Plan is not available in this state.";
}
如果你将'reader'放入''using'块,我会upvote。 – 2014-10-20 03:51:17
@JohnSaunders这样做,并修正了一个错字。 – 2014-10-20 12:55:07