设为首页收藏本站language 语言切换
查看: 1007|回复: 0
收起左侧

如何在VB中使用导入API

[复制链接]
发表于 2010-2-25 10:24:15 | 显示全部楼层 |阅读模式
<p ><b>DB2DD 读者</b><p >我正在尝试在 Visual Basic 中使用导入 API。但是我发现很难找到正确的 dll。我知道 C++ 中有一个 dll,但是,有没有可以从 VB 应用程序调用的 dll 呢? <p ><b>DB2DD 专家 George Baklarz</b><p >有两种方法可以完成这项工作。一种方法就是在 VB 的 DECLARE 部分列出您希望调用的 C API,然后利用标准的调用序列从 VB 调用它,如下面的代码样本所示: <p ><ccid_nobr><table align="center" border="1" bordercolordark="#FFFFFF" bordercolorlight="black" cellpadding="2" cellspacing="0" width="550"><tr><td bgcolor="e6e6e6" class="code"><pre><ccid_code>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 * 5End TypePublic Declare Function sqlepstart Lib &amp;quot;db2app&amp;quot; Alias &amp;quot;sqlepstart_api&amp;quot; (ByVal junk&amp;amp;#38;, ByRef sqlca As SQLCA_STRUCT) As Integer'DB2_start = sqlepstart(0, sqlca)        ' Start DB2 call</ccid_code></pre></td></tr></table></ccid_nobr><p >另一种方法就是生成一个文件,然后发出一条命令在后台执行该函数(当然,取决于您正在试图做什么): <p ><ccid_nobr><table align="center" border="1" bordercolordark="#FFFFFF" bordercolorlight="black" cellpadding="2" cellspacing="0" width="550"><tr><td bgcolor="e6e6e6" class="code"><pre><ccid_code>fileno = FreeFileOpen db2file For Output As #filenosqlstmt = &amp;quot;&amp;quot; + _          &amp;quot;db2start;&amp;quot; + vbNewLine + _          &amp;quot;quit;&amp;quot;          Print #fileno, sqlstmt         ' Write commands to a fileClose #fileno                  ' Close it and execute the commanddb2cmd = &amp;quot;db2cmd /i /c db2 -tvf &amp;quot; + db2file       ' Generate the commandprogID = Shell(db2cmd, vbMinimizedNoFocus)       ' Shell out to run it</ccid_code></pre></td></tr></table></ccid_nobr><p >最后,DB2 的下一个版本将允许您象运行普通的 SQL 表函数那样运行特殊的 API 命令。这会返回有关目前可在 DB2 中找到的许多管理 API 的结果。因此,无需进行 API 调用,您只需使用 SQL 调用就可从 DB2 获取信息。<p >『引自 IBM DW中国』<p >(责任编辑 <ccid_nobr>Sunny</ccid_nobr>)                                 <p align="center"></p></p>
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-4 20:09 , Processed in 0.098559 second(s), 24 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表