使用ADO.NET访问数据库
1.ADO.NET的主要组件
ADO.NET为我们提供了两个组件,用来访问和处理数据:
.NET Framework数据提供程序和DataSet(数据集)
.NET Frameword数据库提供程序
.NET Frameword数据库提供程序 说明
.NET Frameword用于SQL Server的是数据库的提供程序 提供对Microsoft SQL Server 数据的访问,使用System.Data.SqlClient 命名空间
.NET Frameword用于OLE DB 的数据提供程序 提供OLE DB 公开的数据源中的访问。使用System.Data.OleDb命名空间
.NET Frameword用于ODBC的数据提供程序 提供对使用的ODBC公开的数据源中的数据访问。使用System.Data.Client命名空间
.NET Frameword用于Oracle的数据提供程序 适用于Oracle数据源,用于Oracle的.NET Frameword数据提供的程序支持Oracle客户的软件8.17版。
使用System.Data.Client
EntityCliect 提供程序 提供对实体的模型(EDM)应用程序的数据访问。使用System.Data.EntityClient来命名空间
.NET Frameword数据提供程序的四个核心对象
对象 说明
Connection 建立与数据源特定的连接
Command 对数据源执行命令
DataReader 从数据源中读取只进且只读的数据流
DataAdapter 用数据源填充DataSet并解析更新
三.认识 Connection对象
属性 说明
Connection 设置获取应用程序连接数据库的连接字符串
方法 说明
Viod Open() 使用ConnectionString属性所指定的设置打开数据库的连接
Void Close() 关闭与数据库的连接
1.定义连接字符串
1>不同的数据库连接字符串的格式不同
语法:
Data Source=服务器名称;Initial Catalog=数据库名; User ID=用户名;Pwd=密码;
2.创建Connection对象
语法:
SqlConnection connection =new SqlConnection(connString);
3.打开字符串的连接
调用Connection对象的Open()方法打开数据库连接
语法:
connection.Open();
4.如何处理异常
语法:
try{
//包含可能出现异常的代码
}
catch(处理的异常类型){
//处理异常代码
}
四.使用Command对象
语法: SqlCommand command = new SqlCommand(String sql,SqlCommand comm);
Command对象的主要属性和方法
属性 说明
Command Command对象使用的数据库连接
CommandText 执行SQL语句
方法 说明
int ExecuteNonQuery() 执行不返回的语句,如UPDATE等
SqlDataReader ExscuteReader()或SqlDataReader ExscuteReader(CommandBehavior behavior) 执行查询命令,返回DataReader对象
object ExecuteScalar() 返回单个值
string sqlcon="Data Source=.;Initial Calalog=MySchool;User ID=sa;Pwd=.";
Connection:打开数据库连接 程序与数据库沟通的桥梁
SqlConnection con=new SqlConnection(sqlcon);
try {
//可能发生异常的代码
con.Open();
} catch(Exception ex)
{
//捕获异常
Console.WriteLine(ex);
}
finally {
con.Close();
//永远都会被执行
}
Command:向数据库发送命令,提交SQL命令并从数据源中返回结果
string sql="select count(*) from Student where StudentNo='"+username+"' and LoginPwd='"+password+"'";
//向数据库发送一条SQL语句
SqlCommand command=new SqlCommand(sql,con);
//结果
int count=(int)command.ExecuteScalar();
if(count>0) {
Console.WriteLine("登录成功");
}else
{
Console.WriteLine("查无此人"); }
posted on 2017-10-30 22:37 雅俗共赏_house 阅读(159) 评论(0) 编辑 收藏 举报