SQL成功查询代码

本文关键字:代码 查询 成功 SQL | 更新日期: 2023-09-27 18:10:52

查询成功时SQL Server Express是否返回代码?如何在c#中实现这一点呢?

谢谢

我有一个下一个按钮,允许我从表的下一个10行。

SQL成功查询代码

值得注意的是,如果查询失败,你将得到一个异常,所以什么都不会返回,除非你捕获异常,然后你可以让它返回任何你喜欢的!

我想也许你正在考虑ExecuteNonQuery,对于INSERT/UPDATE/DELETE命令将返回受影响的行数(由命令中的所有语句),或者如果事务回滚则返回-1。它不会返回受select语句影响的行数,但这应该不是问题,因为没有理由对SELECT语句使用ExecuteNonQuery

如果你只是想要一个结果返回的计数,你可以使用COUNT查询结合ExecuteScalar

如果您正在使用SqlDataReader您可以使用HasRows属性的布尔值,如果它返回行,或者当您使用阅读器时,您可以使用计数器返回确切的行数,例如:

int rowcount = 0;
bool success = false;
using (var connection = new SqlConnection("connectionString"))
using (var command = new SqlCommand("SELECT TOP 10 * FROM Table"))
{
    connection.Open();
    using (var reader = command.ExecuteReader())
    {
        success = reader.HasRows;
        while (reader.Read())
        {
            rowcount++;
            // DO SOMETHING WITH YOUR DATA
        }
    }
}

或者如果您正在使用SqlDataAdapter,您可以使用DataTable中的行数来获得成功的布尔值或受影响的行数。

using (var adapter = new SqlDataAdapter("SELECT TOP 10 * FROM Table", "connectionString"))
{
    DataTable table = new DataTable();
    adapter.Fill(table);
    bool success = table.Rows.Count > 0;
    int rows = table.Rows.Count;
}

在不知道如何生成查询的情况下,很难确切地告诉您如何做到这一点,但如果您使用SQLDataReader,您可以检查其HasRows属性,或者如果您使用DataTable,您可以检查其行。数属性。