您需要填寫一個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