using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient; //第一次没写这个SQL客户端,SqlConnection都是灰色的,报错缺乏using类型或空间;
namespace FirstDatabase
{
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);
}
//ADO.NET中通过SqlConnection类创建到SQL Server的连接;
SqlConnection conn = new SqlConnection(@"Data Source =.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True");
//.\SQLEXPRESS表示本机上的SQLEXPRESS实例,如果数据库实例名不是SQLEXPRESS则需要修改,Database1.mdf为mdf文件名;
conn.Open();
Console.WriteLine("打开数据库连接成功!");
Console.ReadKey();
}
}
}
/*附加说明:
1.AttachDBFilename 附加Database1.mdf文件;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient; //第一次没写这个SQL客户端,SqlConnection都是灰色的,报错缺乏using类型或空间;
namespace FirstDatabase
{
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);
}
//ADO.NET中通过SqlConnection类创建到SQL Server的连接;
SqlConnection conn = new SqlConnection(@"Data Source =.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True");
//.\SQLEXPRESS表示本机上的SQLEXPRESS实例,如果数据库实例名不是SQLEXPRESS则需要修改,Database1.mdf为mdf文件名;
conn.Open();
Console.WriteLine("打开数据库连接成功!");
Console.ReadKey();
}
}
}
/*附加说明:
1.AttachDBFilename 附加Database1.mdf文件;
2.加@之后,引号内的斜杠就不会被当做是转义字符了;
3.conn.Open()最开始报错方法没有采用1个参数的重载,是因为不小心把new SqlConnection括号中的参数直接粘贴到了Open里面;
4.在报SqlConnection缺少using错误的时候,也可以选择右键解析自动添加缺少的类型或者命名空间;
*/