ADO.NET第一课.NET Framework 数据提供程序

.NET Framework 数据提供程序:命名空间System.Data.Sqlclient.下面的着重来看他下面的几大类。

 1。SqlConnection类,SQL Server 数据库的一个打开的连接。

  构造函数有:

名称 说明
SqlConnection () 初始化 SqlConnection 类的新实例。

由 .NET Compact Framework 支持。

SqlConnection (String) 如果给定包含连接字符串的字符串,则初始化 SqlConnection 类的新实例。

由 .NET Compact Framework 支持。

 

一个带参的,直接在构造函数里面就给出连接的字符串,一个不带参的,通过Conn.ConnectionString属性来指定连接的字符串.

字符串构造例如:Conn.ConnectionString="server=.;uid=sa;pwd=110;database=student",server:服务器,Uid,SQL Server 登录帐户,pwd,SQL Server 帐户登录的密码,database,数据库的名称。

最后就是Conn.Open()方法来连接数据库了。连接数据库后,就可以对数据库进行增,删,改的操作了。

完整实例:

using(SqlConnection conn=new SqlConnection)
{
conn.ConnectionString
="server=.;uid=sa;pwd=506;database=student";
conn.Open();
}

 

 

2.SqlCommand 类:表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程。

构造函数有:

名称 说明
SqlCommand () 初始化 SqlCommand 类的新实例。

由 .NET Compact Framework 支持。

SqlCommand (String) 用查询文本初始化 SqlCommand 类的新实例。

由 .NET Compact Framework 支持。

SqlCommand (String, SqlConnection) 初始化具有查询文本和 SqlConnectionSqlCommand 类的新实例。

由 .NET Compact Framework 支持。

SqlCommand (String, SqlConnection, SqlTransaction) 使用查询文本、一个 SqlConnection 以及 SqlTransaction 来初始化 SqlCommand 类的新实例。

由 .NET Compact Framework 支持。

 

 

 

ExecuteReader

执行返回行的命令。为了提高性能,ExecuteReader 使用 Transact-SQL sp_executesql 系统存储过程调用命令。因此,如果 ExecuteReader 用于执行命令(例如 Transact-SQL SET 语句),则它可能不会产生预期的效果。

ExecuteNonQuery

执行 Transact-SQL INSERT、DELETE、UPDATE 及 SET 语句等命令。

ExecuteScalar

从数据库中检索单个值(例如一个聚合值)。

ExecuteXmlReader

CommandText 发送到 Connection 并生成一个 XmlReader 对象。

  

完整实例:

 SqlDataReader类,提供一种从 SQL Server 数据库读取行的只进流的方式。

代码
using(SqlConnection conn=new SqlConnection){
conn.ConnectionString
="server=.;uid=sa;pwd=506;database=student";
conn.Open();
StringBuilder sql
=new StringBuilder();
sql.Append(
"select name,sex,age,address from student");
SqlCommand cmd
=new SqlCommand(sql.ToString(),conn);
SqlDataReader reader=cmd.ExecuteReader();
while(reader.Read())
{
    ListViewItem lsv = this.listView1.Items.Add(reader[0].ToString());
                lsv.SubItems.Add(reader[1].ToString());
                lsv.SubItems.Add(reader[2].ToString());
                lsv.SubItems.Add(reader[3].ToString());
}
}

3.当Sqlcommand中带参数时,应该调用cmd.Parameters.add带对参数指定类型和值。

sql.append("select name,sex,age,address from student where ");

sql.append("name=@name");

SqlCommand cmd=new SqlCommand(sql.ToString(),conn);
cmd.Parameters.add("@name",SqlDBType.varchar).Value=this.textbox1.text;

4.添加的时候就是引用sql.append("insert student values(@name,@sex,@age,@address)");

再用cmd.parameters.add()指定类型和值。

5。在修改的时候,用到了前面学得一个窗体之间传值的知识,你可以写一个类,成员就是你要修改的那个值,但是这种方法修改的时候麻烦,所以采用窗体直接把LISTVIEW传过来。

Form2 fr2=new Form2(this.Listview1);

在Form2中的构造函数里面肯定要接受这个Listview了.

在Form2中就像操作本窗体下面的Listview一样了.

 

 

 

 

 

posted @ 2010-07-29 09:55  WIN8新人  阅读(209)  评论(0编辑  收藏  举报