几天都没人回答,是高手不屑这个问题还是没有高手?
我自己找到了答案,COPY给需要的朋友参考:下面的例子是用API函数来设置和删除ODBC数据源。
函数名字是 SQLConfigDataSource,其中第二项参数是数字(1-增加 2-修改 3-删除)DECLARE INTEGER SQLConfigDataSource IN odbccp32 INTEGER, INTEGER, STRING, STRINGlnWindowHandle=0
lcODBCDriver=´SQL Server´ &&DRIVER类型
lcODBCName=´SharedData´ &&数据源名字
lcODBCDesc=´Shared Data Source´ &&数据源描述
lcODBCServer=´DEVSQL´ &&SQL SERVER名字
lcODBCDatabase=´Shared´ &&要连接的数据库名字**先试图修改已有的ODBC,如果不存在,返回0。
lreturn=SQLConfigDataSource(lnWindowHandle, 2, lcODBCDriver, ;
´DSN=´ + lcODBCName + CHR(0) ;
+ ´Description=´ + lcODBCDesc + CHR(0) ;
+ ´Server=´ + lcODBCServer + CHR(0) ;
+ ´Database=´ + lcODBCDatabase + CHR(0))
IF lreturn=0 &&不存在**添加新的ODBC
lreturn=SQLConfigDataSource(lnWindowHandle, 1, lcODBCDriver, ;
´DSN=´ + lcODBCName + CHR(0) ;
+ ´Description=´ + lcODBCDesc + CHR(0) ;
+ ´Server=´ + lcODBCServer + CHR(0) ;
+ ´Database=´ + lcODBCDatabase + CHR(0))
IF lreturn=0 &&失败
MessageBox(´添加ODBC数据源失败´,16,´BUFFER´)
ENDIF
ENDIF2。删除ODBC数据源**用完后,可以在表单DESTROY事件里删除ODBC。 如果不想重复设置参数,可以把这些参数加到表单作为属性。DECLARE INTEGER SQLConfigDataSource IN odbccp32 INTEGER, INTEGER, STRING, STRINGlnWindowHandle=0
lcODBCDriver=´SQL Server´
lcODBCName=´SharedData´
lcODBCDesc=´Shared Data Source´
lcODBCServer=´DEVSQL´
lcODBCDatabase=´Shared´**先修改,或者其是否存在
lreturn=SQLConfigDataSource(lnWindowHandle, ;
2, lcODBCDriver, ;
´DSN=´ + lcODBCName + CHR(0) ;
+ ´Description=´ + lcODBCDesc + CHR(0) ;
+ ´Server=´ + lcODBCServer + CHR(0) ;
+ ´Database=´ + lcODBCDatabase + CHR(0))
IF lreturn=1 &&ODBC存在,删除它
lreturn=SQLConfigDataSource(lnWindowHandle, ;
3, lcODBCDriver, ;
´DSN=´ + lcODBCName + CHR(0) ;
+ ´Description=´ + lcODBCDesc + CHR(0) ;
+ ´Server=´ + lcODBCServer + CHR(0) ;
+ ´Database=´ + lcODBCDatabase + CHR(0))
IF lreturn=0
MessageBox(´删除ODBC源失败,16,´BUFFER´)
ENDIF
ENDIF