首页 / 软件开发 / .NET编程技术 / ADO.NET数据库连接、操作SQL举例
ADO.NET数据库连接、操作SQL举例2010-10-311.创建类datasource.cs2.加入SQL命名空间(可以使用SQL数据库语句):using System.Data.SqlClient3.类中申明对象:(string)ConnString 连接字符串、(SqlConnection)SqlConn 连接SQL数据库、(SqlCommand)SqlCmd 调用SQL语句的方式 、(SqlDataAdapter)SqlAdapter 连接SQL数据适配器、(DataSet)ds 建立数据集、(SqlDataReader)SqlReader 读取数据库。4.在构造函数中初始化实例对象:public datasource()
{
ConnString = ConfigurationManager.ConnectionStrings["某数据源"].ConnectionString;
SqlConn = new SqlConnection(ConnString);
SqlCmd = new SqlCommand();
SqlAdpter = new SqlDataAdapter();
ds = new DataSet();
}
5.创建一些数据集和数据库SQL操作的方法(1)创建一个内存数据集,使用传入的SQL查询语句参数public DataSet Tds(string QueryString)
{
SqlAdpter.SelectCommand = new SqlCommand(QueryString, SqlConn);
SqlAdpter.Fill(ds, "temp"); //temp是一个内存数据表
return ds;
}
(2)创建一个内存数据集,不使用任何参数。public DataSet Tds()
{
//使用SQL语句来代替这个参数
SqlAdpter.SelectCommand = new SqlCommand("select * from abc", SqlConn);
//temp是一个内存数据表
SqlAdpter.Fill(ds,"temp");
return ds;
}
(3)返回一个只读的轻量级数据源,注意,它不支持服务端的分页,而且需要数据连接必须一直打开public SqlDataReader Tsdr()
{
//SqlCommand属性CommandText是一条SQL语句
SqlCmd.CommandText = "select * from abc";
//SqlCommand属性Connection 就是sql的连接语句
SqlCmd.Connection = SqlConn;
SqlConn.Open();
//当数据读取随着数据连接的关闭而关闭
SqlReader = SqlCmd.ExecuteReader(CommandBehavior.CloseConnection);
return SqlReader;
}
(4)SQL更新语句:public void Update(string 字段id, string 字段1, string 字段2...string 字段N)
{
SqlCmd.CommandText = "update 数据表 set [字段名1]=@字段名1,[字段名2]="" +
字段2 + "",..,[字段名N]="" + 字段N + "" where [字段id]="" + 字段id + """;
// SqlCmd.Parameters.AddWithValue("@lname", au_lname); 更新的字段可以有单引号
SqlCmd.Connection = SqlConn; //连接
SqlConn.Open(); //打开
SqlCmd.ExecuteNonQuery(); //执行
}
(5)SQL删除语句:(用法如上)public void Delete(string 字段id)
{
SqlCmd.CommandText = "delete from [abc] where [字段id]=""+字段id+""";
SqlCmd.Connection = SqlConn;
SqlConn.Open();
SqlCmd.ExecuteNonQuery();
}
6.新建一个aspx页面:加入一个GridView表(1)在配置文件(web.config)中,加入一段话(2)为GridView新建数据源:对象 ->业务对象datasource->selectdeleteupdateinsert 调用相关对象的方法->设置参数sql查询语句,比如select * from abc.分页设置(属性分页中AllowPage 是否分页?、Pagesize 分页页数。属性行为中的EnableSortingAndPagingCallbacks 是否分页回传)