如何使用ADODB连接连接到firebird数据库? 我使用testcomplete来测试在firebird上运行的应用程序。 以下没有工作......
Conn = new ActiveXObject("ADODB.Connection");
constr = 'User=SYSDBA;Password=masterkey;Database=C:\..\Sample.fdb;DataSource=Local;Port=3050;Dialect=3;Charset=NONE;Role=;Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;'
Conn.ConnectionString = constr;
qrery = 'Select Count(*) FROM XX ';
recSet = new ActiveXObject("ADODB.Recordset");
recSet.Open(qrery,Conn,3 /* adOpenStatic */, 1 /* adLockReadOnly */,1);
Log.Message(recSet.Fields.Item(0).Value );
recSet.Close();
获取以下错误
连接不能用于执行此操作。在此上下文中它已关闭或无效
答案 0 :(得分:0)
您需要在创建连接后和进行查询之前打开连接:
var Conn = new ActiveXObject("ADODB.Connection");
var constr = 'User=SYSDBA;Password=masterkey;Database=C:\\..\\Sample.fdb;DataSource=Local;Port=3050;Dialect=3;Charset=NONE;Role=;Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;'
Conn.ConnectionString = constr;
var qrery = 'Select Count(*) FROM XX ';
Conn.Open(); // Openning the connection
var recSet = new ActiveXObject("ADODB.Recordset");
recSet.Open(qrery,Conn,3 /* adOpenStatic */, 1 /* adLockReadOnly */,1);
Log.Message(recSet.Fields.Item(0).Value );
recSet.Close();