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) | 初始化具有查询文本和 SqlConnection 的 SqlCommand 类的新实例。
由 .NET Compact Framework 支持。 |
SqlCommand (String, SqlConnection, SqlTransaction) | 使用查询文本、一个 SqlConnection 以及 SqlTransaction 来初始化 SqlCommand 类的新实例。
由 .NET Compact Framework 支持。
|
执行返回行的命令。为了提高性能,ExecuteReader 使用 Transact-SQL sp_executesql 系统存储过程调用命令。因此,如果 ExecuteReader 用于执行命令(例如 Transact-SQL SET 语句),则它可能不会产生预期的效果。 |
|
执行 Transact-SQL INSERT、DELETE、UPDATE 及 SET 语句等命令。 |
|
从数据库中检索单个值(例如一个聚合值)。 |
|
将 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一样了.