2

理由是您不妨跳过阅读,但包含在内是为了过滤掉那些告诉我不要做我一开始不确定的事情的人。

我正在尝试调试一些多线程数据库hoopla,它主要是实验性的,尽管如果我让它工作,我会是一个非常高兴的人。我对 DBExpress 很陌生(只使用了 4-5 个小时)。我没有使用 TSQLConnection 或任何设计时组件,因为我正在尝试以一种不费力且不被注意的方式重写现有的 ODBC32.dll 接口,一旦完成,我将展示其余的精彩。我提到这一点的原因是因为很明显我没有以许多教程中显示的正常方式使用 dbexpress。


这是问题

我正在使用 TDBXConnection 并连接到 ODBC 数据源,我想尝试SQL_ATTR_ASYNC_DBC_FUNCTIONS_ENABLE在我的连接上设置参数,但我不知道在哪里设置该特定参数。

4

1 回答 1

2

你已经在FDBConnection : TDBXConnection;其他地方定义了,所以现在你必须:

……

begin
  if FDBConnection is TDBXOdbcConnection then
  with FDBConnection as TDBXOdbcConnection do
  begin
    MethodTable.SQLSetEnvAttr(EnvironmentHandle, SQL_ASYNC_ENABLE, Pointer(SQL_ASYNC_ENABLE_ON), 0);
    MethodTable.SQLSetEnvAttr(EnvironmentHandle, SQL_ASYNC_DBC_FUNCTIONS, Pointer(SQL_ASYNC_DBC_CAPABLE), 0);

  end;
end;

那是相当无痛的。

包括Data.DBXODBCSystem.ODBC在用途中,你是金子。

于 2011-12-29T21:56:31.550 回答