我们用connectionString属性来指定需要连接的数据库,这个属性可以是一个ADO连接字符串,也可以是别名,为了良好的安全性和可扩展性,强烈推荐用别名.
以下代码演示了如何分别使用连接字符串和别名连接数据库:
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
支持的数据库
OLEDB连接字符串
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
推荐将自增列用作主键,grid默认也是这样做的
注意:你可以用虚拟路径代替物路径
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
注意: 如果你用的是DbNetGrid.Net 而你的主键是自增的列,那么需要在grid中加上这样一行:
因为ADO.NET不能识别Acess的自增列
连接字符串
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
推荐IDENTITY列用作主键列,grid会自动识别
如果用的是DbNetGrid.Net那么不需指定Provider的部分,上面的代码可以改成:
大小写敏感
默认grid会把列,表名强制改为大写,而Sql Server是区分大小写的,为避免这样的情况,可以使用caseSensitiveNames属性
document.all.dbnetgrid1.caseSensitiveNames = true
SybaseSybase
OLEDB 连接字符串
Provider=Sybase.ASEOLEDBProvider;Initial Catalog=pubs3;User Id=sa;Password=;
DbNetGrid.NET也支持用Sybase ASE Ado.Net的连接字符串
MySQL
ODBC连接字符串
Provider=MSDASQL;DRIVER={MySQL};DB=northwind;SERVER=localhost;UID=root;PWD=;OPTION=131072;STMT=;
用DbNetGrid.Net 连MySQL还需要OleDb Provider for MySQL,点here.下载
OleDB
Provider=MySqlProv;Data Source=northwind;Password=;User ID=root;Location=localhost;
推荐自增列作为主键
DbNetGrid.NET 也支持用ByteFX Ado.Net Data Provider 的MySql 字符串
Provider=MSDASQL;DRIVER={IBM DB2 ODBC Driver};UID=Administrator;PWD=;PROTOCOL=TCPIP;HOSTNAME=localhost;DATABASE=SAMPLE;SERVICENAME=50000
没有自增列
Provider=msdaora;Data Source=dbnetlin;User Id=scott;Password=tiger;
Oracle不提供内建数据类型作为主键但却提供了一个sequence对象来用生成可以用做主键的唯一值,推荐用此值作为primaryKeyColumn 属性,一旦指定后,此sequence对象就被用来生成primaryKeyColumn指定的列的值
document.all.dbnetgrid1.primaryKeyColumn = "id"
document.all.dbnetgrid1.oracleSequenceName = "scott.my_sequence"
The Microsoft OLE DB provider (MSDAORA)支持以下数据类型
Char
Varchar2
Number
Date
Float
Long
如果你要用Oracle数据类型就需要Oracle OLE DB provider (OraOLEDB.Oracle.1).
Provider=MSDASQL.1;Persist Security Info=False;Data Source=CacheWeb Samples
如果有问题,就检查一下ODBC数据源安装对话框的Unicode SQL Types选项.
Provider=vfpoledb;data source=/data/contact/contacts.dbc
Provider=Ifxoledbc.2;Data Source=stores_demo@ol_server1;User ID=informix;Password=informix;
Provider=Advantage.OLEDB.1;Password=ADSSYS;User ID=AdsSys;Data Source=E:\Advantage\Data\NORTHWIND.ADD;
逻辑路径会自动转为物理路径
Provider=Advantage.OLEDB.1;Password=ADSSYS;User ID=AdsSys;Data Source=/advantagedata/NORTHWIND.ADD;
Pervasive
OLEDB:
Provider=PervasiveOLEDB;Data Source=pvideodb
ODBC (DbNetGrid ASP)
Driver={Pervasive ODBC Client Interface};ServerName=server_name;dbq=@pvideodb
OLEDB
Provider=LCPI.IBProvider.2;Data Source=server3:C:/program files/firebird/firebird_1_5/examples/EMPLOYEE.FDB;User ID=sysdba;Password=xxxx;auto_commit=true;