默认连接字符串定义
项目需要用到的数据库放在bin/debug 目录下,在定义连接字符串时写成下面的形式比较简单(实例及数据库名称有必要更改)。
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\db_sell.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True
我曾百度提问过的问题:
连接字符串
方法1:
SqlConnection oConn;
string strConn;
oConn = new SqlConnection();
strConn = "Data Source=(localhost);";
strConn += "Initial Catalog=Northwind;";
strConn += "User ID=sa;";
strConn += "Password=;";
oConn.ConnectionString = strConn;
oConn.Open();
MessageBox.Show("Connection Open", "btnconnect_Click()");
oConn.Close();
方法2:
strConn = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\NorthWind.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
解释:|DataDirectory|\是固定的一个宏,在.net下它一般是指应该程序所在目录下的app_data文件夹,含义如下
connectionString="…… data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|data.mdf;User Instance=true"
这里有一个DataDirectory的宏,他表示什么意义呢?
DataDirectory 是表示数据库路径的替换字符串。由于无需对完整路径进行硬编码,DataDirectory 简化了项目的共享和应用程序的部署。例如,无需使用以下连接字符串:
"Data Source= c:\program files\MyApp\app_data\Mydb.mdf"
通过使用 |DataDirectory|(包含在如下所示的竖线中),即可具有以下连接字符串:
"Data Source = |DataDirectory|\Mydb.mdf"
这里的一篇文章Working with local databases详细的解释了DataDirectory 的意义,不仅仅是Sql server 2005 express中使用,也可以在其他的文件数据库中使用,例如Sqllite数据库文件的连接字符串:
<add name="DefaultDB"
connectionString="DriverClass=NHibernate.Driver.SQLite20Driver;Dialect=NHibernate.Dialect.SQLiteDialect;Data Source=|DataDirectory|\data.db3" />

浙公网安备 33010602011771号