黑马程序员---ADO.Net学习小结

来源:互联网 发布:java调用linux命令 编辑:程序博客网 时间:2024/06/05 04:48

---------------------- 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方法执行一个非查询语句(UpdateInsertDelete等)

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表示此处用参数代替

SqlCommandParameters中添加参数

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

SqlDataAdapterDataSet和数据库之间沟通的桥梁。

数据集DataSet包含若干表DataTableDataTable包含若干行DataRow

 

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ---------------------- 详细请查看:http://net.itheima.com/

 

原创粉丝点击