---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
SqlConnection代表一个数据库连接
ADO.Net中的连接等资源都实现了idisposable接口
所以都要进行资源释放! 现在先用using
SqlCommand 用来向SQLSever发送命令
ExecuteNonQuery 执行一个非查询语句;
SqlCommand 中的ExecuteScalar 方法用于执行查询并返回查询所返回的结果集中的第一行第一列;
ExecuteReader
GetOrdinal("...") 取得...的序号里的内容
updateCom.Parameters.Add(new SqlParameter("UserName", txtUserName.Text));
上面这个Parameters是参数的意思,
"UserName", txtUserName.Text 前者接收后者传来的数据;
读取配置中的连接字符串:connectionStrings先添加这个段,再添加一个add项用name属性起一个名字ConnStr,名字可以随便起, connectionString属性指定连接字符串!
新建一个应用程序配置文件;
<connectionStrings>
<add name="ConnStr" connectionString="Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\S.mdf;
Integrated Security=true;user instance=true"/>
</connectionStrings>
添加这个引用;
string connStr= ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
连接字符串:程序通过连接字符串 指定要连哪台服务器上的哪个实例的哪个数据库、用什么用户名密码等。
项目内嵌mdf文件形式的连接字串"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\D
atabase1.mdf;Integrated Security=True;User Instance=True"。
“.\SQLEXPRESS”表示“本机上的SQLEXPRESS实例”,如果数据库实例名不是SQLEXPRESS,则需要修改。“Database1.mdf”为mdf的文件名。
ADO.Net中通过SqlConnection类创建到SQLServer的连接,
SqlConnection代表一个数据库连接,ADO.Net中的连接等资源都实现了IDisposable接口,可以使用using进行资源管理。
执行备注中的代码如果成功了就ok。
执行简单的Insert语句
SqlCommand表示向服务器提交的一个命令(SQL语句等)
CommandText属性为要执行的SQL语句,ExecuteNonQuery方法执行一个非查询语句(Update、Insert、Delete等)
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "Insert into
T_Users(UserName,Password) values('admin','888888')";
cmd.ExecuteNonQuery();
}
ExecuteNonQuery返回值是执行的影响行数
得到自动增长字段的主键值,在values关键词前加上output inserted.Id,其中Id为主键字段名。
执行结果就试插入的主键值,用ExecuteScalar执行最方便。
cmd.CommandText = "select count(*) from T_Users";
int i =Convert.ToInt32(cmd.ExecuteScalar());
执行查询
执行有多行结果集的用ExecuteReader
SqlDataReader reader = cmd.ExecuteReader();.
查询参数
SQL语句使用@UserName表示“此处用参数代替”
向SqlCommand的Parameters中添加参数
cmd.CommandText = "select * from city where proID=@proID";
cmd.Parameters.Add(new SqlParameter("@proID", proId));//这里的@proID名字可以随便起,@ii,@dd啊什么的,不过要上下对应就好了,
DataSet
每次读取数据都创建连接,执行Command得到SqlDataReader.
SqlDataReader是连接相关的,
SqlDataReader中的查询结果并不是放到程序中的,而是放在数据库服务器中,
SqlDataReader只是相当于放了一个指针(游标),只能读取当前游标指向的行,一旦连接断开就不能再读取.
这样做的好处就是无论查询结果有多少条,对程序占用的内存都几乎没有影响。
SqlDataReader对于小数据量的数据来说带来的只有麻烦,优点可以忽略不计.
ADO.Net中提供了数据集的机制,将查询结果填充到本地内存中,这样连接断开、服务器断开都不影响数据的读取。
DataSet dataset = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dataset);
SqlDataAdapter是DataSet和数据库之间沟通的桥梁。
数据集DataSet包含若干表DataTable,DataTable包含若干行DataRow。
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 详细请查看:http://net.itheima.com/