Ehs*_*adi 5 c# sql sql-server ado
我正在使用ADO在c#中进行查询,以从Microsoft SQL Express数据库中选择一条记录.出于某些测试目的,我需要在SQL Express中延迟大约300ms,以便我可以模拟我所需的情况.有一个限制,我不能使用任何商店程序.
任何线索将不胜感激.
您可能会在 SQL 中注入 WAITFOR:
有关更多信息,请参阅此 SO QA 以获取T-SQL 中的睡眠命令?
给定发送到数据库的命令:
SELECT * FROM MyTable
嵌入在一个SqlCommand
:
using (var conn = new SqlConnection("connection string"))
using (var comm = new SqlCommand("", conn))
{
conn.Open();
comm.CommandText = "SELECT * FROM MyTable";
comm.ExecuteNonQuery();
}
Run Code Online (Sandbox Code Playgroud)
把它改成这样:
using (var conn = new SqlConnection("connection string"))
using (var comm = new SqlCommand("", conn))
{
conn.Open();
#if DEBUG
comm.CommandText = "WAITFOR DELAY '00:00:01.000'; SELECT * FROM MyTable";
#else
comm.CommandText = "SELECT * FROM MyTable";
#endif
comm.ExecuteNonQuery();
}
Run Code Online (Sandbox Code Playgroud)
嵌入 1 秒等待。
理想情况下,您不想以如此丑陋和可疑的方式执行此操作,但出于演示的目的,它就足够了。