清 清风97 Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-29 #1 我再BDE中使用Database.StartTransaction 时出错,提示不能对关闭的数据库操作,可数据库已经打开,什么原因?如何使用?
F forgot2002 Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-29 #2 不知道你具体代码,可能你是打开了一个只读数据集,但一般也不会出现这个错误,也有可能 你在程序某处写Database1.close而你没发现,在StrtTransaction前面显式地写Database1.open 试试,如果还不行,就在Databhase1的AfterOpen事件中找原因。
不知道你具体代码,可能你是打开了一个只读数据集,但一般也不会出现这个错误,也有可能 你在程序某处写Database1.close而你没发现,在StrtTransaction前面显式地写Database1.open 试试,如果还不行,就在Databhase1的AfterOpen事件中找原因。
H houanl Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-29 #3 在StrtTransaction前面显式地写Database1.close
D dadabox Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-29 #4 自己多找找原因吧。一定是你的错。用断点一步一步看看。 另外,在StartTransaction 前最好加上这一句。 if DataBase.InTransaction then DataBase.Commit; try DataBase.StartTransaction; ... DataBase.Commit; except DataBase.RollBack; end;
自己多找找原因吧。一定是你的错。用断点一步一步看看。 另外,在StartTransaction 前最好加上这一句。 if DataBase.InTransaction then DataBase.Commit; try DataBase.StartTransaction; ... DataBase.Commit; except DataBase.RollBack; end;
清 清风97 Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-29 #5 数据库参数默认,开始就连接打开,代码如下: try form1.Database.Open; form1.Database.StartTransaction ; query.SQL.Clear ; query.SQL.Text :='insert into ……' query.ExecSQL; …… form1.Database.Commit ; except form1.Database.Rollback; …… end; 不知哪里不对。 还是不行。
数据库参数默认,开始就连接打开,代码如下: try form1.Database.Open; form1.Database.StartTransaction ; query.SQL.Clear ; query.SQL.Text :='insert into ……' query.ExecSQL; …… form1.Database.Commit ; except form1.Database.Rollback; …… end; 不知哪里不对。 还是不行。
P pcc_mmz1 Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-29 #6 to 清风97: 在StrtTransaction前面显式地写 Database1.close; Database1.open; 看看。 另外,我想问你几个问题,也许能够帮你。 1。你有没有改变数据库系统设置比如关闭了事务处理。但你却忘记作了修改。 2。你在设计时,试着打开database1的时候,即database1.open时,能否打开? 若不能打开,说明你的参数设置有错,或者数据库没有启动。 3。你的query1的databasename是否等于database的databasename?如果不是, 你启动的事务便没有意义。
to 清风97: 在StrtTransaction前面显式地写 Database1.close; Database1.open; 看看。 另外,我想问你几个问题,也许能够帮你。 1。你有没有改变数据库系统设置比如关闭了事务处理。但你却忘记作了修改。 2。你在设计时,试着打开database1的时候,即database1.open时,能否打开? 若不能打开,说明你的参数设置有错,或者数据库没有启动。 3。你的query1的databasename是否等于database的databasename?如果不是, 你启动的事务便没有意义。