Connection对象
不同命名空间的Connection对象
命名空间 | 对应的Connection对象 |
---|---|
System.Data.SqlClient | SqlConnection |
System.Data.OleDb | OleDbConnection |
System.Data.Odbc | OdbcConnection |
System.Data.OracleClient | OracleConnection |
Connection 主要成员
属性名称 | 说明 |
---|---|
ConnectionString | 连接字符串 |
方法 | 说明 |
Open() | 打开数据库连接 |
Close() | 关闭数据库连接 |
注:Close() 方法 必须显示(手动)关闭连接
Command对象
Command 主要成员
属性名称 | 说明 |
---|---|
Connection | Command对象使用的数据库连接 |
CommandText | 执行的SQL语句 |
方法 | 说明 |
ExecuteNonQuery() --执行增、删、改语句 | 执行不反悔行的语句,如UPDATE |
ExecuteReader() --读取数据 查询多行多列数据 | 返回DataReader对象 |
ExecuteScalar() --查询单个值 | 返回单个值,如执行带COUNT(*)的SQL语句 |
ExecuteNonQuery()方法
使用SqlCommand对象的ExecuteNonQuery()方法向数据库增加记录
步骤:
- 创建Connection对象
- 定义SQL语句
- 创建Command对象
- 执行ExecuteNonQuery()方法
- 根据返回的结果进行处理
实例:
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里的语句一定会执行