Visual Basic/数据库
数据库管理本身就是一个很大的主题,这本书无法涵盖,而且会分散对VB Classic编程的重点。不过,我们可以解释连接到数据库、从数据库检索信息等基本知识。
从VB连接到数据库的常用方法是使用ADO(ActiveX Data Objects)。
连接到数据库通常使用连接字符串。以下是一些连接到常用数据库类型的连接字符串示例
A
ACCESS
ODBC
标准安全
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;
工作组
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;SystemDB=C:\mydatabase.mdw;
独占
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Exclusive=1;Uid=admin;Pwd=;
启用管理语句 要启用某些程序化管理功能,如CREATE USER、CREATE GROUP、ADD USER、GRANT、REVOKE和DEFAULTS(在创建CREATE TABLE语句时),请使用此连接字符串。
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;ExtendedAnsiSQL=1;
指定区域设置标识符 使用此标识符指定区域设置标识符,这有助于处理非美国格式的日期。
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Locale Identifier=2057;Uid=Admin;Pwd=;
以上示例使用en-gb区域设置标识符(2057)。
标准安全
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;
使用数据库密码 这是在使用Access中的设置数据库密码功能保护Access数据库时使用的连接字符串。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;
工作组(系统数据库)
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:System Database=system.mdw;
指定用户名和密码的工作组(系统数据库)
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:System Database=system.mdw;User ID=myUsername;Password=myPassword;
DataDirectory功能
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\myDatabase.mdb;User Id=admin;Password=;
ACCESS 2007 标准安全
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;
使用数据库密码
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Jet OLEDB:Database Password=MyDbPassword;
Datadirectory功能
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\myAccess2007file.accdb;Persist Security Info=False;
E
Excel文件
ODBC
Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:\MyExcel.xls;DefaultDir=c:\mypath;
备注
SQL syntax "SELECT * FROM [sheet1$]". -- i.e. excel worksheet name followed by a "$" and wrapped in "[" "]" brackets.
OLEDB
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";
重要提示!
字符串中的引号“需要使用特定语言的转义语法进行转义。
c#, c++ \" VB6, VBScript "" xml (web.config etc) " or maybe use a single quote '.
"HDR=Yes;"表示第一行包含列名,而不是数据。 "HDR=No;"表示相反的意思。
"IMEX=1;"告诉驱动程序始终将“混合”(数字、日期、字符串等)数据列读为文本。请注意,此选项可能会对Excel工作表写入访问产生负面影响。
SQL syntax "SELECT * FROM [sheet1$]". -- i.e. Excel worksheet name followed by a "$" and wrapped in "[" "]" brackets.
查看[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel]中的注册表REG_DWORD "TypeGuessRows"。这是让Excel不只使用前8行来猜测列数据类型的关键。将此值设置为0以扫描所有行。这可能会影响性能。如果Excel工作簿受密码保护,即使使用连接字符串提供正确的密码,您也无法打开它进行数据访问。如果您尝试,您将收到以下错误消息:“无法解密文件”。
Excel 2007文件
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";
前一页: Windows_Dialogs | 目录 | 下一页: Windows_API |