读取数据库的问题

hengmeng 2010-09-27 04:59:51
string CONNSTRING = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + open.FileName;
OleDbConnection conn = new OleDbConnection(CONNSTRING);
conn.Open();
OleDbCommand cmd = new OleDbCommand("Select * from AT1", conn);
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
。。。


以上是一段比较通用的读取ACCESS数据库数据的代码,这段代码会逐行一次性地把数据库中有效的数据读取出来。

现在有一个需求,想使用一个定时器,每隔一秒只读取数据库中的一行数据,而不是一下子把数据全读出来,请问如何实现?
...全文
95 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
完美算法 2010-09-27
  • 打赏
  • 举报
回复
string="Select * from AT1 where id="+i.ToString();
conn.Open();
cmd = new OleDbCommand(string, conn);
reader = cmd.ExecuteReader();
if (reader.Read())
{
...
}
conn.close();
i++;
valued_zero 2010-09-27
  • 打赏
  • 举报
回复
新建一个适配器和虚拟数据库来读出来,然后再显示,试试
hengmeng 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 liulangdeyuyu 的回复:]
引用 1 楼 foxdave 的回复:

C# code
while (reader.Read())
{
Thread.Sleep(1000);
//to do


+1
[/Quote]

???
hengmeng 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 yunhaic 的回复:]
能不能换个思路?
先全部读取出来,然后每一秒显示一行
[/Quote]

读取出来的数据存放到哪里呢?数组吗?没有这么大的地方来存放。
liulangdeyuyu 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 foxdave 的回复:]

C# code
while (reader.Read())
{
Thread.Sleep(1000);
//to do

[/Quote]
+1
  • 打赏
  • 举报
回复
能不能换个思路?
先全部读取出来,然后每一秒显示一行
hengmeng 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 baihualin1983 的回复:]
用timer,间隔设定为1秒,在timer里执行reader.Read().
[/Quote]

开始是使用的TIMER,调用reader.Read(),但是程序没有调用到Read(),能给段代码吗?
yinrongg 2010-09-27
  • 打赏
  • 举报
回复
timer加线程 ,线程里执行reader.Read().
baihualin1983 2010-09-27
  • 打赏
  • 举报
回复
用timer,间隔设定为1秒,在timer里执行reader.Read().
hengmeng 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 foxdave 的回复:]
C# code
while (reader.Read())
{
Thread.Sleep(1000);
//to do

[/Quote]
死机
guyehanxinlei 2010-09-27
  • 打赏
  • 举报
回复
while(true)
{
sql=String.Format("Select * from TableA Where ID={0}",@ID);
...
...
cmd.ExecuteDataReader();
//TO DO
Thread.Sleep(1000);
}
tourstar 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 foxdave 的回复:]
C# code
while (reader.Read())
{
Thread.Sleep(1000);
//to do

[/Quote]+
Justin-Liu 2010-09-27
  • 打赏
  • 举报
回复
while (reader.Read())
{
Thread.Sleep(1000);
//to do

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧