您需要填写一个SqlDatareader
或一个DataSet/DataTable中使用SqlDataAdapter
的记录。目前,您正在使用通常用于INSERT/UPDATE
语句的ExecuteNonQuery
。
DataTable dt = new DataTable();
using (SqlConnection connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
using (SqlCommand cmd = new SqlCommand("SELECT something FROM table"))
{
cmd.CommandType = CommandType.Text;
cmd.Connection = connection;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
}
}
这会从查询中DataTable
返回结果。
如果你想要得到的结果早在List<string>
(因为你正在请求从表中的单个列,没准会有多行)你可以这样做:
List<string> returnedList = new List<string>();
using (SqlConnection connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
using (SqlCommand cmd = new SqlCommand("SELECT something FROM table"))
{
cmd.CommandType = CommandType.Text;
cmd.Connection = connection;
connection.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
returnedList.Add(Convert.ToString(reader["something"]));
}
}
}
}
然后得到一个字符串,你可以这样做:
string singleString = string.Join(Environment.NewLine, returnedList);
你需要一个单列的价值?你需要单列的价值吗?你的问题有点含糊 – Steve