日期:2014-05-17  浏览次数:20703 次

C#如何对同一张表进行插入和查询操作???
我有一张表Test在服务器端,服务器端每一秒往Test表中写入一条数据,客户端连接服务器数据库中Test,客户端任意时刻可以进行Test数据的查询,请问各位应该如何实现,现在我只要客户端进行查询后,服务器在客户端查询时刻就不写入数据了,应该怎样来实现呢???

------解决方案--------------------
你可以试试用两个数据库连接,一个专门查询,另一个专门添加!
------解决方案--------------------
我告诉你对于单CPU的计算机,计算机同时只能干一件事情。那你说Windows多任务,一边打字,一边听音乐一边下载文件怎么实现的?
------解决方案--------------------
这是数据库基本功能,你不需要做什么
------解决方案--------------------
你如果非要一秒写入一条的话,可以在服务器端作个检测,如果写入失败,再写一次嘛。
------解决方案--------------------
不需要做什么,只管查就好了。
------解决方案--------------------
写两个操作语句了,一个用来查询数据,一个用来向数据插入数据
------解决方案--------------------
引用
现在我只要客户端进行查询后,服务器在客户端查询时刻就不写入数据了,应该怎样来实现呢??? 

查询的时候为什么不让写入数据,查询和写入又不冲突。
你查询一次数据后,数据就显示到界面上,之后即使有新的数据写入,只要你不再查询一遍,界面上的数据还是之前的旧数据。
------解决方案--------------------
数据库都有锁机制,对于表来说,如果没有锁机制,就会产生脏读等等问题,比如,你在客户端查询数据的同时,服务器端又想插入数据,这2件事情不可能同时发生的(绝对意义上)。
假如A先插入数据,然后B读取数据,但是在B读取数据的过程中(读取数据需要时间的),A又取消了数据插入,那么B读取的数据就是脏数据。
所以说你这么做就是违背数据库的锁机制的,不可行。
------解决方案--------------------
引用:
数据库都有锁机制,对于表来说,如果没有锁机制,就会产生脏读等等问题,比如,你在客户端查询数据的同时,服务器端又想插入数据,这2件事情不可能同时发生的(绝对意义上)。
假如A先插入数据,然后B读取数据,但是在B读取数据的过程中(读取数据需要时间的),A又取消了数据插入,那么B读取的数据就是脏数据。
所以说你这么做就是违背数据库的锁机制的,不可行。
+1
------解决方案--------------------
读取数据的时候加锁读,可防止脏读