IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope:Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Information Management  >

请教专家: George Baklarz 如何在 Visual Basic 中使用导入 API

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 初级

George Baklarz

XML error: Please enter a value for the author element's jobtitle attribute, or the company-name element, or both.



2002 年 6 月 01 日

请教专家:George Baklarz 如何在 Visual Basic 中使用导入 API

DB2DD 读者

我正在尝试在 Visual Basic 中使用导入 API。但是我发现很难找到正确的 dll。我知道 C++ 中有一个 dll,但是,有没有可以从 VB 应用程序调用的 dll 呢?





回页首


DB2DD 专家 George Baklarz

有两种方法可以完成这项工作。一种方法就是在 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 获取信息。



关于作者

George Baklarz has authored this article




对本文的评价

太差! (1)
需提高 (2)
一般;尚可 (3)
好文章 (4)
真棒!(5)

建议?




回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款