OpenDB

用于打开数据库和Excel工作簿。

格式
OpenDB #数据库编号, 数据库类型 [, SQL服务器名],数据库名

参数

数据库编号
指定501~508的整数。
数据库类型
从[SQL]、[Access]、[Excel]中选择要打开的数据库类型。
SQL服务器名
按数据库类型指定为[SQL]时,指定SQL服务器名。省略时,指定(LOCAL)服务器。不能指定网络上的SQL服务器。
按数据库类型指定[Access]或[Excel]时,不指定SQL服务器名。
数据库名

  • 按数据库类型指定[SQL]时,指定SQL服务器的数据库名。
  • 已指定[Access]时,指定Access文件名。已省略Access文件名路径时,检索当前文件夹。详情请参阅ChDisk。
  • 已指定[Excel]时,指定Excel文件名。可指定为Excel文件的格式为Excel 2007工作薄、Excel 97-2003工作簿文件。已省略Excel文件名路径时,检索当前文件夹。详情请参阅ChDisk。

说明
以指定的文件编号打开指定的数据库。

指定的数据库必须存在已安装RC+的PC的硬盘中。如果不存在,则会发生错误。指定的文件编号用于在打开数据库期间识别该数据库,因此,在利用CloseDB命令关闭数据库之前,不能用于引用其它数据库。按数据库操作命令(SelectDB、Print#、Input#、CloseDB)使用文件编号。

不能使用Microsoft office 2010 64 bit版的Access和Excel文件。

注意


  • 需要连接已安装RC+的PC。

参阅
SelectDB函数,CloseDB,UpdateDB,DeleteDB,Input #,Print #

OpenDB使用示例

SQL数据库的使用示例

如下所示为从使用SQL服务器2000样本数据库Northwind的表格读入数据的简单示例。

Integer count, i, eid
String Lastname$, Firstname$, Title$

OpenDB #501, SQL, "(LOCAL)", "Northwind"
count = SelectDB(#501, "Employees")
For i = 0 To count - 1
  Input #501, eid, Lastname$, Firstname$, Title$
  Print eid, ",", Lastname$, ",", Firstname$, ",", Title$
Next
CloseDB #501

Access数据库的使用示例

如下所示为从使用Microsoft Access 2007样本数据库学生名册的表格读入数据的简单示例。

Integer count, i, eid
String Lastname$, Firstname$, dummy$

OpenDB #502, Access, "c:\MyDataBase\学生名册.accdb"
count = SelectDB(#502, "学生")
For i = 0 To count - 1
  Input #502, eid, dummy$, dummy$, Lastname$, dummy$, Firstname$
  Print eid, ",", Lastname$, ",", Firstname$
Next
CloseDB #502

Excel工作簿的使用示例

下面给出一个简单示例,从RC+8.0附带的示例项目“DrawEpsonLogo”中的Excel工作簿EPSON_LOGO.xls的LOGO表单中读取数据。
示例中使用的Excel工作簿,请参见以下内容。
示例文件

Integer count, i, p, x, y
String desc$

OpenDB #501, Excel, "C:\EpsonRC80\projects\Samples\Database\DrawEpsonLogo\EPSON_LOGO.xls"
count = SelectDB(#501, "[LOGO$]")
For i = 0 To count - 1
    Input #501, p, x, y, desc$
    Print "Point", p, ", X:", x, ", Y:", y, ", Descripption:", desc$
Next

'输出结果
'Point 1, X: 0, Y: 51, Descripption:E1
'Point 2, X: 38, Y: 51, Descripption:E2
'Point 3, X: 38, Y: 42, Descripption:E3
'Point 4, X: 10, Y: 42, Descripption:E4
'Point 5, X: 10, Y: 30, Descripption:E5
' 续…