Exi*_*tos 3 c# sql asp.net ado.net
以下代码不起作用.此表中只有一行.我如何获得sql将返回的语句?:
SqlConnection conn = new SqlConnection(connectionStringArg);
SqlCommand command = new SqlCommand("select applicationname from tbl_settings");
command.Connection = conn;
conn.Open();
string simpleValue = command.ExecuteReader()[0].ToString();
conn.Close();
return simpleValue;
Run Code Online (Sandbox Code Playgroud)
好的,如何实现这个相对简单的任务的任何帮助都会很棒.
Odr*_*ade 19
由于只返回一个值,您可以这样做:
string value = (string)command.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)
如果您需要的内容超过返回的第一行中的第一列,则需要使用ExecuteReader().看到driis的回答.
该DataReader的不能被索引这样.你需要这样的东西:
using(conn)
using(var reader = command.ExecuteReader())
{
reader.Read();
string simpleValue = reader.GetString(0);
}
Run Code Online (Sandbox Code Playgroud)
一般的想法是为每个记录(使用Read)推进阅读器,然后您可以从行中读取值.正如另一个答案所指出的,如果你知道结果集中只有一个单独的值,command.ExecuteScalar()那就给你一个.
您必须Read在从ExecuteReader返回的DataReader上调用该方法才能到达第一行.像这样的东西:
SqlDataReader rdr = command.ExecuteReader();
if (rdr.Read())
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40828 次 |
| 最近记录: |