2 netdomainer NetDomainer 于 2016.01.19 12:01 提问

C#中多个程序(线程)读写数据库的问题。

比如说我在程序A中进行修改数据库。
namespace A
{
class program
{
static void Main(string[] args)
{
DbConnection conn = new DbConnetion(...);
conn.Open();
DbCommand comm = new DbCommand("Insert into myTable (...) values (...)",conn);
comm.ExecuteNonquery();
conn.Close();
}
}
}
在程序B中读取数据库:
namespace B
{
class program
{
static void Main(string[] args)
{
DbConnection conn = new DbConnetion(同一个数据库);
conn.Open();
DbCommand comm = new DbCommand("Select * from MyTable",conn);
DbReader reader = comm.ExecuteRead();
while(reader.Read())
{
...
}
conn.Close();
}
}
}
那么我应该如何修改两个程序,使之能判断数据库的状态,从而推迟操作,当数据库闲置
时,再操作呢?

2个回答

beau_lily
beau_lily   2016.01.19 12:55

这个看你需要完成什么样的效果 如果你不怕数据库中的脏读的话
在B中用Select * from MyTable(nolock)
如果你需要判断A中是否插入了数据 可以在B中先判断 然后再执行查询

91program
91program   Ds   Rxr 2016.01.19 12:56

进程间的同步机制,是需要用到的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!