Страницы

Поиск по вопросам

среда, 25 декабря 2019 г.

Почему результат SELECT COUNT(*) FROM information_schema.tables -1?

#c_sharp #sql


Может мне кто-то объяснить в чем моя ошибка, что я получаю результыт от SQL-запроса
-1? Вот мой код:

    public static void proveIfQueryExecuted(String query, String database)
    {
        String sqlConnectionString = String.Format("Server = server; Database = {0};
Trusted_Connection = True;", database);

        using (SqlConnection connection = new SqlConnection(sqlConnectionString))
        {
            var server = new Server(new ServerConnection(connection));
            var result = server.ConnectionContext.ExecuteNonQuery(query);

            if (result != 0)
            {
                Console.WriteLine("tables exist");
            }
            else
            {
                Console.WriteLine("No tables exist");
            }

        }
    }

    


Ответы

Ответ 1



В данном случае вместо метода ExecuteNonQuery следует использовать метод ExecuteScalar: var result = server.ConnectionContext.ExecuteScalar(query); Метод ExecuteNonQuery обычно используется для выполнения команд, которые не предполагают возвращения какого-либо результирующего значения. Тогда как ExecuteScalar используется для выполнения команд, предполагающих возвращение какого-либо скалярного результирующего значения.

Комментариев нет:

Отправить комментарий