SQL Server中一個Connection在同一個時間只能是有一個查詢執行,所以在一條連線上執行多線程查詢是不現實的。按你的上面說的,只能開出四個Connection才能達到你的要求。/*當然如果是在前端上查詢的話,可采用非同步方的方式來執行你的SQL,在同一條連線上同時執行四個查詢,或許能可以。我沒試過 :) */

解决方案 »

  1.   

    TO N_Chow(Red.pan_Nipsan):我是在UI开多个线程查询后台数据库表,其实说穿了,就是如果保证一个线程只返回特定的记录,保证记录不被重复处理。谢谢!
      

  2.   

    這好辦,ADO本身就支持非同步查詢,只要開多几個線程,然後在每個線程中聲明一個ADO.Recordset,用Recordset來取特定的記錄就行了。我的VC功底還不行,用VB嘛又不支持多線程...Sample code就沒辦法寫了..sorry.
      

  3.   

    先执行一个线程,其他的排队嘛。用where来标志,
      

  4.   

    可以不过效率不高,把你的数据先放到临时表
    就是select IDENTITY(int,1,1) sn ,yourtable.* into YourTmpTable from yourtable order by yourColumnfields
    然后你就可以使用的多线程根据sn的结果取出来