我用c#程序创建数据库,然后连接数据库。在创建数据后如果立刻连接数据库的话就会出现错误。

时间:2022-11-06 11:14:12
我用c#程序创建数据库,然后连接数据库。在创建数据后如果立刻连接数据库的话就会出现错误。但是如果在创建数据库后Sleep(10000)10秒连接就没问题。也就是说 cmd.ExecuteNonQuery();创建数据库后数据库创建其实还没有完成。虽说在本机Sleep(10000)等待解决了这个问题,但是我担心在不同的环境中可能Sleep(10000)的等待时间可能不足。c#中有没有方法可以判断创建数据库这个过程已经完成了呢? 
问题补充:"你可以在创建后就try嘛,不成功的话就sleep,接着try,直到成功! "我就知道有这样的回答,如果这样子我也就不问了。不过任然多谢回答。 


-------------------------------------------------------------
我没有说每次Update就创建数据库哇?实际上只是程序第一次运行的时候创建数据库呀,创建数据库后就创建表,所以我要连接新建的这个数据库!!

6 个解决方案

#1


有人没有呀……我一定会结贴的……虽然分子是……但……

#2


不是可以看看数据库的连接状态吗?这个时候去判断是不是可以。。。
还有我觉得你可以把数据库连接开一个线程来控制。。。

#3


这样的话就用一个线程来操作数据库

#4


我用c#程序创建数据库,然后连接数据库。在创建数据后如果立刻连接数据库的话就会出现错误。
-----------------------------------------
你的代码贴上来看看。估计你是代码有问题。而不是sleep多少秒的问题。

#5


做一个bool判断,如果创建完成就为True,否则为False;
链接的时候判断如果为True则链接,为False则等待。。。。。。。

#6


try
catch,循环连接,成功终止

#1


有人没有呀……我一定会结贴的……虽然分子是……但……

#2


不是可以看看数据库的连接状态吗?这个时候去判断是不是可以。。。
还有我觉得你可以把数据库连接开一个线程来控制。。。

#3


这样的话就用一个线程来操作数据库

#4


我用c#程序创建数据库,然后连接数据库。在创建数据后如果立刻连接数据库的话就会出现错误。
-----------------------------------------
你的代码贴上来看看。估计你是代码有问题。而不是sleep多少秒的问题。

#5


做一个bool判断,如果创建完成就为True,否则为False;
链接的时候判断如果为True则链接,为False则等待。。。。。。。

#6


try
catch,循环连接,成功终止