C# 如何检索ADO.NET SqlCommand的结果?

C# 如何检索ADO.NET SqlCommand的结果?,c#,asp.net,sql-server,select,C#,Asp.net,Sql Server,Select,好吧,或者我现在真的很累或者很胖,但是我似乎找不到答案 我正在使用ASP.NET,我想查找表中的行数 我知道这是SQL代码:从topics中选择count*,但我怎么才能让它显示为一个数字呢 我所要做的就是运行代码,如果它=0,则显示一件事,如果它大于0,则显示另一件事。请帮忙 这就是我目前所拥有的 string selectTopics = "select count(*) from topics"; // Define the ADO.NET Objects SqlConnection co

好吧,或者我现在真的很累或者很胖,但是我似乎找不到答案

我正在使用ASP.NET,我想查找表中的行数

我知道这是SQL代码:从topics中选择count*,但我怎么才能让它显示为一个数字呢

我所要做的就是运行代码,如果它=0,则显示一件事,如果它大于0,则显示另一件事。请帮忙

这就是我目前所拥有的

string selectTopics = "select count(*) from topics";
// Define the ADO.NET Objects
SqlConnection con = new SqlConnection(connectionString);
SqlCommand topiccmd = new SqlCommand(selectTopics, con);
if (topiccmd == 0)
    {
        noTopics.Visible = true;
        topics.Visible = false;
    }
但我知道我错过了一些严重的错误。我已经找了很久了,但什么也找不到

PHP非常简单

ExecuteScalar是您需要的。SqlCommand的方法


顺便说一句,坚持使用C,PHP不可能更简单。这很熟悉。

注意,在访问SQL查询结果之前,必须打开连接并执行命令。ExecuteScalar返回单个结果值如果查询将返回多列和/或多行,则必须使用不同的方法

请注意using构造的使用,它将安全地关闭和处理连接

string selectTopics = "select count(*) from topics";
// Define the ADO.NET Objects
using (SqlConnection con = new SqlConnection(connectionString))
{
   SqlCommand topiccmd = new SqlCommand(selectTopics, con);
   con.Open();
   int numrows = (int)topiccmd.ExecuteScalar();
   if (numrows == 0)
    {
        noTopics.Visible = true;
        topics.Visible = false;
    }
}

你需要打开连接 这可能会奏效:

SqlConnection sqlConnection1 = new SqlConnection("Your Connection String");
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;

cmd.CommandText = "select count(*) from topics";
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection;
sqlConnection1.Open();

reader = cmd.ExecuteReader();
// Data is accessible through the DataReader object here.

sqlConnection1.Close();

类似的问题:

请考虑帮OP一个忙,并展示如何在理想情况下使用using block清理连接…:正在处理中,谢谢,还有=vs==和强制转换,请随时改进itI获得以下错误System.Data.SqlClient.SqlConnection不包含open和no extension方法open的定义。。。。是否缺少一个名称空间?我忘了双精度==:@dpDesignz检查启动器-它位于System.Data.SqlClient命名空间中,您必须为其引用System.Data。如果您在代码的特定问题上需要更多帮助,请编辑您的问题以包含该代码,否则我们只能猜测如果你有问题超出了这个范围,请单独提问。是的,我有所有的问题,这就是为什么我觉得奇怪。对不起,忘了寄那些。但是,我仍然在打开标记上遇到该错误。如果您只需要确定表中是否有记录,我建议使用类似“存在时选择案例”“从主题中选择*,然后选择1”“其他0结束”的方法。这将使您不必扫描整个表/索引。那么,我应该键入什么来运行我的代码?