SQL成功查询代码
本文关键字:代码 查询 成功 SQL | 更新日期: 2023-09-27 18:10:52
查询成功时SQL Server Express是否返回代码?如何在c#中实现这一点呢?
谢谢
我有一个下一个按钮,允许我从表的下一个10行。
值得注意的是,如果查询失败,你将得到一个异常,所以什么都不会返回,除非你捕获异常,然后你可以让它返回任何你喜欢的!
我想也许你正在考虑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,您可以检查其行。数属性。