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(); } } }