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一样了.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述