ADO.NET Connection、Command对象与异常处理

本文详细介绍了ADO.NET中的Connection对象,包括不同命名空间下的Connection对象及其主要成员,强调了Close()方法的重要性。接着讨论了Command对象的主要成员,重点讲述了ExecuteNonQuery()方法在向数据库增加记录时的应用步骤。此外,还概述了使用ADO.NET连接数据库的基本步骤,并讲解了如何通过try-catch块进行异常处理,确保程序的健壮性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Connection对象

不同命名空间的Connection对象

命名空间对应的Connection对象
System.Data.SqlClientSqlConnection
System.Data.OleDbOleDbConnection
System.Data.OdbcOdbcConnection
System.Data.OracleClientOracleConnection

Connection 主要成员

属性名称说明
ConnectionString连接字符串
方法说明
Open()打开数据库连接
Close()关闭数据库连接

注:Close() 方法 必须显示(手动)关闭连接

Command对象

Command 主要成员

属性名称说明
ConnectionCommand对象使用的数据库连接
CommandText执行的SQL语句
方法说明
ExecuteNonQuery() --执行增、删、改语句执行不反悔行的语句,如UPDATE
ExecuteReader() --读取数据 查询多行多列数据返回DataReader对象
ExecuteScalar() --查询单个值返回单个值,如执行带COUNT(*)的SQL语句

ExecuteNonQuery()方法

使用SqlCommand对象的ExecuteNonQuery()方法向数据库增加记录

步骤:

  1. 创建Connection对象
  2. 定义SQL语句
  3. 创建Command对象
  4. 执行ExecuteNonQuery()方法
  5. 根据返回的结果进行处理

实例:

String sql = string.Format("INSERT INTO Student VALUES('{0}','{1}','{2}')",stuName,stuAge,stuHobby);
//创建command对象
SqlCommand command = new SqlCommand(sql,conn);
//执行命令
command.ExecuteNonQuery();
//...

注: 该方法执行指定的SQL增删改语句 返回受影响的行数

使用ADO.NET 连接数据库的步骤

1.定义连接字符串

Data Source = 服务器名;Initial Catalog = 数据库名;User ID = 用户名;Pwd= 密码   --没有密码可以省略       

2.创建Connection对象

SqlConnection conn = new SqlConnection(connString);

3.打开与数据库的连接

conn.Open();

4.定义SQL语句 如通过学生姓名查看学生信息

string sql = string.Format("SELECT COUNT(*) FROM Student WHERE StuName ='+"自定义"+'");

5.创建Command对象

SqlCommand command = new Sqlcommand(sql,conn)

6.执行命令 如

int num = (int)command.ExecuteScalar();

7.关闭连接

conn.Close();

异常处理

使用try-catch块捕获和处理异常

语法:

try    --表示  尝试
{
    --包含可能出现异常的代码
        connection.Close();
}
catch(处理的异常类型)  --表示 抓捕、捕获
{
    --处理异常的代码
}
finally
{
    --无论是否发生异常都会执行的代码
}

注: 当try中出现异常时,try里的语句不会在执行,直接跳转到catch中执行catch中的语句;finally里的语句一定会执行

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值