And*_*yWD 5 .net c# t-sql sql-server
以下是使用以下代码的示例代码SqlDataReader:
// Working with SQLServer and C#
// Retrieve all rows
cmd.CommandText = "SELECT some_field FROM data";
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader.GetString(0));
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
我的意思是我想了解在while循环中检索数据时是否存在相同的机制(如果是SqlDataReader),就像使用SQLite时一样.
// working with SQLite and Java
if (cursor.moveToFirst()) {
do {
String data = cursor.getString(cursor.getColumnIndex("data"));
// do what ever you want here
} while(cursor.moveToNext());
}
cursor.close();
Run Code Online (Sandbox Code Playgroud)
不,服务器端没有游标,除非您的命令正在调用使用游标的存储过程。当您使用 SqlDataReader 时,服务器将返回一个普通的 SQL 结果集,一次一行。显然,在您可以读取数据之前,数据必须位于某个位置,并且该位置将是 SQL Server 和驱动程序管理的缓冲区。
如果您要将其推入使用数据集之类的东西,那么所有行都将同时位于 RAM 中。