ADO.NET总结

ADO.NET总结

ADO.NET五大类

SqlConnection类 -- 用来连接数据库

SqlCommand类 -- 用来执行SQL命令(增删改查)

SqlDataReader类 -- 用来装数据的

DataSet类 -- 用来装数据的,需要结合SqlDataAdapter 使用

SqlDataAdapter类 -- 用来把查到的数据放入DataSet中

ADO.NET的使用

1、创建数据库连接

不管做什么操作,都需要先使用SqlConnection类连接数据库

  • 连接数据库需要提供信息:

    • 服务器:server

    • 账号:uid

    • 密码:pwd

    • 数据库:database

string connStr = "server=.;uid=sa;pwd=123456;database=UserDB";//准备信息
SqlConnection conn = new SqlConnection(connStr);//把信息提供给SqlConnection,创建连接对象
conn.Open();//使用连接对象的Open()方法打开连接
​
//数据库操作写在这里
​
conn.Close();//数据库操作完,一定要关闭连接,因为数据库连接是有限的,一直保持连接会占用资源

2、增删改操作

增删改操作,只需要使用SqlCommand类

  • SqlCommand类需要提供:

    • 要执行的SQL语句

    • 数据库连接对象

string connStr = "server=.;uid=sa;pwd=123456;database=UserDB";//准备信息
SqlConnection conn = new SqlConnection(connStr);//把信息提供给SqlConnection,创建连接对象
conn.Open();//使用连接对象的Open()方法打开连接
​
//数据库操作写在这里
string sqlStr = "insert into Users values ('测试','123')";//准备SQL语句
SqlCommand cmd = new SqlCommand(sqlStr, conn);//把SQL语句和数据库连接对象提供给SqlCommand,创建SqlCommand对象
cmd.ExecuteNonQuery();//开始执行
​
conn.Close();

3、查询操作

查询操作,有两种方式

3.1 SqlCommand结合SqlDataReader
  • SqlCommand类需要提供:

    • 要执行的SQL语句

    • 数据库连接对象

string connStr = "server=.;uid=sa;pwd=123456;database=UserDB";//准备信息
SqlConnection conn = new SqlConnection(connStr);//把信息提供给SqlConnection,创建连接对象
conn.Open();//使用连接对象的Open()方法打开连接
​
//数据库操作写在这里
string sqlStr = "select * from Users";//准备SQL语句
SqlCommand cmd = new SqlCommand(sqlStr, conn);//把SQL语句和数据库连接对象提供给SqlCommand,创建SqlCommand对象
SqlDataReader dr = cmd.ExecuteReader();//开始执行,查询结果放在dr里
​
conn.Close();

3.2 SqlDataAdapter结合DataSet(常用)
  • SqlDataAdapter查询数据需要提供:

    • 要执行的SQL语句

    • 数据库连接对象

string connStr = "server=.;uid=sa;pwd=123456;database=UserDB";//准备信息
SqlConnection conn = new SqlConnection(connStr);//把信息提供给SqlConnection,创建连接对象
conn.Open();//使用连接对象的Open()方法打开连接
​
//数据库操作写在这里
string sqlStr = "select * from Users";//准备SQL语句
SqlDataAdapter adapter = new SqlDataAdapter(sqlStr, conn);//把SQL语句和数据库连接对象提供给SqlDataAdapter,创建SqlDataAdapter对象
DataSet ds = new DataSet();//创建DataSet,用来存数据库数据
adapter.Fill(ds);//使用SqlDataAdapter把数据库数据放入DataSet中
​
conn.Close();

巩固练习

创建学生表:Student

  • 字段:

    • StuId -- 自增主键

    • StuName -- 姓名

    • StuNo -- 学号

    • StuSex -- 性别

创建项目:

1、创建Winform项目,项目名称Program02

2、添加控件:

  • 3个Lable:

    • Name:lbName、lbNo、lbSex

    • Text:姓名、学号、性别

  • 3个TextBox:

    • Name:tbName、tbNo、tbSex

  • 2个Button:

    • Name:btnAdd

    • Text:添加

  • 1个DataGridView:

    • Name:studentView

3、输入学生姓名、学号、性别,点击添加按钮,实现往Student表中插入学生信息功能

4、编写一个方法,绑定学生数据到DataGridView

SSMS生成数据库脚本步骤

  • 选中数据库--右键--任务--生成脚本

  • 下一步

  • 选择为整个数据库及所有数据库对象编写脚本--下一步

  • 点击高级按钮--在弹出的界面将滚动条拉到最底下--找到要编写的脚本的数据的类型--选择架构和数据--确定

  • 点击另存为脚本文件--文件名后面可以修改文件保存路径--下一步

  • 继续下一步

  • 完成

  • 打开文件保存路径,可以看到自己的脚本文件,把它拖进SSMS中即可打开

  • 在脚本第一个GO的下面写:

    IF(EXISTS(SELECT * FROM sysdatabases WHERE name = '这里修改成对应的数据库名称'))
      DROP DATABASE 这里修改成对应的数据库名称
    GO
  • 注意:

    • 数据库名称要写对

    • 如果脚本执行不成,重启SSMS

    • 这个操作会删掉自己原有的数据库,创建新的数据库

ADO.NET中操作SQL数据库主要涉及到以下几个步骤: 1. **创建Connection对象**:首先需要实例化`SqlConnection`对象,这相当于打开了到SQL Server的连接。你需要提供服务器地址、数据库名称、用户名和密码作为构造函数参数。 ```csharp using System.Data.SqlClient; string connectionString = "Data Source=yourServer;Initial Catalog=yourDatabase;User ID=yourUsername;Password=yourPassword"; SqlConnection connection = new SqlConnection(connectionString); ``` 2. **打开连接**:调用`connection.Open()`方法打开与数据库的连接。 3. **创建Command对象**:`SqlCommand`用于发送SQL查询或命令。你可以设置它的`CommandText`属性为你要执行的SQL语句。 ```csharp SqlCommand command = new SqlCommand("SELECT * FROM yourTable", connection); ``` 4. **执行查询或命令**:使用`command.ExecuteReader()`获取`SqlDataReader`,它可以逐行读取查询结果。 5. **遍历数据**:使用`SqlDataReader`的`Read()`方法读取每一行数据,直到没有更多的记录可用。 6. **关闭连接**:完成所有操作后,记得关闭`SqlDataReader`和`SqlConnection`以释放资源。 ```csharp SqlDataReader reader = command.ExecuteReader(); while(reader.Read()) { // 处理每行数据 } reader.Close(); connection.Close(); ``` 7. **错误处理**:为了保证代码的健壮性,通常会在敏感操作前后添加异常处理代码。 这就是ADO.NET的基本操作流程,它支持复杂的查询、参数化查询以及事务管理等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值