Вопрос по c#, select, sql-server, asp.net – Как я могу получить результат ADO.NET SqlCommand?

4

Ладно, я действительно очень устал или очень толст, но не могу найти ответ на этот вопрос.

Я использую ASP.NET и хочу найти количество строк в моей таблице.

Я знаю, что это код SQL:select count(*) from topics, но как проверить, как я могу отобразить это число?

Все, что я хочу сделать, это запустить этот код и, если он = 0, отобразить одну вещь, а если он больше 0, отобразить что-то другое. Помогите, пожалуйста?

Это то, что я до сих пор

<code>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;
    }
</code>

но я знаю, что упускаю что-то серьезно не так. Я искал целую вечность, но ничего не могу найти.

PHP намного проще. :)

Тогда что бы я напечатал, чтобы запустить это для моего кода? dpDesignz
Если вам нужно только решить, есть ли записи в таблице, я рекомендую что-то вроде «ВЫБЕРИТЕ СЛУЧАЙ, КОГДА СУЩЕСТВУЕТ (ВЫБРАТЬ * ИЗ ТЕМ) ТОГДА 1 ИЛИ 0 КОНЕЦ». Это избавит вас от необходимости сканировать всю таблицу / индекс. 8kb

Ваш Ответ

3   ответа
0

Это может сработать:

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();

Подобный вопрос:C # «выбрать количество» Команда sql неправильно возвращает ноль строк с сервера SQL

1

ExecuteScalar это то, что вы ищете. (метод SqlCommand)

Кстати, придерживайтесь C #, PHP не может быть проще. Это просто знакомо.

Error: User Rate Limit Exceeded dpDesignz
11

что вы должны открыть соединение и выполнить команду, прежде чем сможете получить доступ к результату SQL-запроса.ExecuteScalar возвращаетsingle значение результата (необходимо использовать разные методы, если ваш запрос будет возвращать несколько столбцов и / или несколько строк).

на использование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;
    }
}
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededdocs for SqlClientError: User Rate Limit ExceededSystem.Data.SqlClientError: User Rate Limit ExceededSystem.DataError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededusingError: User Rate Limit Exceeded
Error: User Rate Limit ExceededSystem.Data.SqlClient.SqlConnection does not contain a definition for open and no extension method open...Error: User Rate Limit Exceeded dpDesignz

Похожие вопросы