---------------------- ASP.Net+Android+IO开发、.Net培训、期待与您交流! ----------------------
● 连接字符串
1)项目中内嵌mdf文件
ADO.Net中提供了对各种不同数据库的统一操作接口。
直接在项目中内嵌mdf文件的方式使用MSSQLServer数据库(基于服务的数据库),其连接字符串为:
"Data Source=(local);
AttachDBFilename=|DataDirectory|\Database1.mdf;
Integrated Security=True;
User Instance=True"
Main()方法中前置的代码为:
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);
}
2)SQL Server身份验证
"Data Source=(local);Initial Catalog=DB_Login;User ID=sa;Password=123456"
或者
"Server=(local);Database=DB_Login;Uid=sa;Pwd=123456"
注:DataSource/Server、InitialCatalog/Database、User ID/Uid、Password/Pwd都可互换
● ADO.Net连接数据库
ADO.Net中的连接等资源都实现了IDisposable接口,可以使用using进行资源的管理
1) 连接数据库
using (SqlConnection conn = new SqlConnection("连接字符串") )
{
conn.Open();
......
}
或者:
SqlConnection conn = new SqlConnection("连接字符串");
conn.Open();
……
conn.Close();
conn.Dispose();
2) 对数据库里的数据进行插入、更新、删除
using (SqlConnection conn = new SqlConnection("连接字符串"))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SQL插入、更新、删除语句";
cmd.ExecuteNonQuery();
}
}
3) 对数据库里的数据进行查询
(1)ExecuteScalar():查询结果集中的第一行第一列的数据,返回值类型为object
using (SqlConnection conn = new SqlConnection("连接字符串"))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SQL查询语句";
cmd.ExecuteScalar();
}
}
(2)ExecuteReader():查询结果集中的多行的数据
每调用一次ExecuteReader()的Read()方法,就往下查询一次结果集中的一行并且Read()返回true,只到查询到结果集的最后一行之后,Read()返回false
using (SqlConnection conn = new SqlConnection("连接字符串"))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SQL查询语句";
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
//GetOrdinal():在结果集中,根据指定的列名称获取列序号
int columnOrdinal = reader.GetOrdinal("列名称");
//GetString():在结果集中,根据指定的列序号获取列字符串形式的值
string columnString = reader.GetString(columnOrdinal);
}
}
}
}
(3)DataSet和SqlDataAdapter:查询结果集中的多行的数据
using (SqlConnection conn = new SqlConnection("连接字符串"))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SQL查询语句";
//将结果集交给数据适配器(SqlDataAdapter)处理
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
//创建一个数据集(DataSet)
DataSet ds = new DataSet();
//数据适配器将结果集填充到数据集中
adapter.Fill(ds);
}
}
---------------------- ASP.Net+Android+IO开发、.Net培训、期待与您交流! ----------------------