![]() ![]() |
|
VB辅导:VB中使用导入的API | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:44:55 文章录入:杜斌 责任编辑:杜斌 | |
|
|
回答是肯定的: 有两种方法可以完成这项工作。一种方法就是在 VB 的 DECLARE 部分列出您希望调用的 C API,然后利用标准的调用序列从 VB 调用它,如下面的代码样本所示: Type SQLCA_STRUCT sqlcaid As String * 8 sqlcabc As Long sqlcode As Long sqlerrml As Integer sqlerrmc As String * 70 sqlerrp As String * 8 sqlerrd(6) As Long sqlwarn As String * 11 sqlstate As String * 5 End Type Public Declare Function sqlepstart Lib "db2app" Alias "sqlepstart_api" (ByVal junk&, ByRef sqlca As SQLCA_STRUCT) As Integer ’ DB2_start = sqlepstart(0, sqlca) ’ Start DB2 call 另一种方法就是生成一个文件,然后发出一条命令在后台执行该函数(当然,取决于您正在试图做什么): fileno = FreeFile Open db2file For Output As #fileno sqlstmt = "" + _ "db2start;" + vbNewLine + _ "quit;" Print #fileno, sqlstmt ’ Write commands to a file Close #fileno ’ Close it and execute the command db2cmd = "db2cmd /i /c db2 -tvf " + db2file ’ Generate the command progID = Shell(db2cmd, vbMinimizedNoFocus) ’ Shell out to run it 最后,DB2 的下一个版本将允许您象运行普通的 SQL 表函数那样运行特殊的 API 命令。这会返回有关目前可在 DB2 中找到的许多管理 API 的结果。因此,无需进行 API 调用,您只需使用 SQL 调用就可从 DB2 获取信。 |
|
![]() ![]() |