using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
/* 连接SQLServer
* 连接字符串,程序通过连接字符串指定的要连哪些台服务器上的,哪些个实例的哪些个数据库,用什么用户名密码等
* 项目内嵌mdf文件形式的连接字符串
* "Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"
* .\SQLEXPRESS"表示"本机上的SQLEXPRESS实例,如果数据库实例名不是SQLEXPRESS,则需要修改."Database1.mdf为mdf的文件名"
*
* ADO.Net中通过SqlConnection类创建到SQLServer的连接,SqlConnection代表一个数据库连接,可以使用using进行资源管理,执行备注中的代码如果成功了就ok
*
* 可能遇到的错误
* 1 由于启动用户实例的进程时出错,导致无法生成SQL Server的用户实例
*
* 2 版本太低,只支持2005及以下数据库,解决,安装VisualStudio 2008 SP1
*
* 3 启动超时,多试几次
*
*
* ADO.Net中通过SqlConnection类创建到SQLServer的连接,SqlConnection表表一个数据库连接,ADO.Net中的连接等资源
* 都实现了IDisposable接口,可以使用using进地资源管理,执行备注中的代码如果成功了就ok
*/
namespace _1ADO.Net连接SQLServer
{
class Program
{
static void Main(string[] args)
{
/*string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
}*/
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\")
|| dataDir.EndsWith(@"\bin\Release\"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
}
//SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS.AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True");
//SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS.AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True");
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\MyProjects\C#net传智播客\第五季ADO.NET\1ADO.Net连接SQLServer\1ADO.Net连接SQLServer\Database1.mdf;Integrated Security=True;User Instance=True");
//
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "Insert into MyTable1(Name) values('xxdxxd')";
cmd.ExecuteNonQuery();
Console.WriteLine("插入成功!");
}
Console.WriteLine("打开数据库连接成功!");
Console.ReadKey();
}
}
}