一个完整的.net作的ObjectDataSource的数据类访问组件
来源:互联网 发布:类似枭臣小说知乎 编辑:程序博客网 时间:2024/06/06 09:47
这是一本书上的,但是我调好了没问题。
用的数据库是SQL2000自带的pubs库。
在App_Code下新建类文件AuthorDB.cs,内容如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
/// <summary>
/// AuthorDB の概要の説明です
/// </summary>
public class AuthorDB
{
public AuthorDB()
{
//
// TODO: コンストラクタ ロジックをここに追加します
//
}
//获取state集合,返回DataSet,并通过DropDownList显示
public static DataSet GetStates()
{
//获取连接字符串
string connectionString = ConfigurationManager.ConnectionStrings["PubsConnectionString"].ConnectionString;
//创建并设置SqlConnection
SqlConnection dbConnection = new SqlConnection(connectionString);
//定义SQL查询语句
string queryString = "Select distinct state from authors";
//创建并设置SqlCommand
SqlCommand dbCommand = new SqlCommand();
dbCommand.Connection = dbConnection;
dbCommand.CommandType = CommandType.Text;
dbCommand.CommandText = queryString;
//创建SqlDataAdapter,并获取数据
SqlDataAdapter dataAdapter = new SqlDataAdapter(dbCommand);
DataSet ds = new DataSet();
dataAdapter.Fill(ds);
//返回数据
return ds;
}
//获取state参数,获取数据记录,返回DataSet,返回DataSet,并通过GridView显示
public static DataSet GetAuthorsByState(string state)
{
//获取连接字符串
string connectionString = ConfigurationManager.ConnectionStrings["PubsConnectionString"].ConnectionString;
//创建并设置SqlConnection
SqlConnection dbConnection = new SqlConnection(connectionString);
//定义SQL查询语句
string queryString = "Select au_id,au_fname,au_lname,state from authors where state=@state";
//创建并设置SqlCommand
SqlCommand dbCommand = new SqlCommand();
dbCommand.Connection = dbConnection;
dbCommand.CommandType = CommandType.Text;
dbCommand.CommandText = queryString;
//设置SqlParameter
SqlParameter dbParameter_state = new SqlParameter();
dbParameter_state.ParameterName = "@state";
dbParameter_state.Value = state;
dbParameter_state.DbType = DbType.StringFixedLength;
//向SqlCommand中添加SqlParameter
dbCommand.Parameters.Add(dbParameter_state);
//创建SqlDataAdapter,并获取数据
SqlDataAdapter dataAdapter = new SqlDataAdapter(dbCommand);
DataSet ds = new DataSet();
dataAdapter.Fill(ds);
//返回数据
return ds;
}
//更新数据记录
public static int UpdateAuthor(string au_id,string au_lname,string au_fname,string state)
{
//获取连接字符串
string connectionString = ConfigurationManager.ConnectionStrings["PubsConnectionString"].ConnectionString;
//创建并设置SqlConnection
SqlConnection dbConnection = new SqlConnection(connectionString);
//定义SQL查询语句
string queryString = "UPDATE authors SET au_fname=@au_fname,au_lname=@au_lname,state=@state WHERE au_id = @au_id";
//创建并设置SqlCommand
SqlCommand dbCommand = new SqlCommand();
dbCommand.Connection = dbConnection;
dbCommand.CommandType = CommandType.Text;
dbCommand.CommandText = queryString;
//设置参数@au_id
SqlParameter dbParameter_au_id = new SqlParameter();
dbParameter_au_id.ParameterName = "@au_id";
dbParameter_au_id.Value = au_id;
dbParameter_au_id.DbType = DbType.String;
//向SqlCommand中添加@au_id
dbCommand.Parameters.Add(dbParameter_au_id);
//设置参数@au_lname
SqlParameter dbParameter_au_lname = new SqlParameter();
dbParameter_au_lname.ParameterName = "@au_lname";
dbParameter_au_lname.Value = au_lname;
dbParameter_au_lname.DbType = DbType.String;
//向SqlCommand中添加@au_lname
dbCommand.Parameters.Add(dbParameter_au_lname);
//设置参数@au_fname
SqlParameter dbParameter_au_fname = new SqlParameter();
dbParameter_au_fname.ParameterName = "@au_fname";
dbParameter_au_fname.Value = au_fname;
dbParameter_au_fname.DbType = DbType.String;
//向SqlCommand中添加@au_fname
dbCommand.Parameters.Add(dbParameter_au_fname);
//设置参数@state
SqlParameter dbParameter_state = new SqlParameter();
dbParameter_state.ParameterName = "@state";
dbParameter_state.Value = state;
dbParameter_state.DbType = DbType.StringFixedLength;
//向SqlCommand中添加@state
dbCommand.Parameters.Add(dbParameter_state);
//执行SQL语句,并且返回受影响的行数
int rowsAffected = 0;
dbConnection.Open();
try
{
rowsAffected = dbCommand.ExecuteNonQuery();
}
finally
{
dbConnection.Close();
}
return rowsAffected;
}
}
然后在配置文件web.config中加上连接程序就可以了。
最后当然是在表示层用objectdatasourse组件连接了,绑定在服务器组件上就可以运行了。
写的比较匆忙,如有问题请留言,一块解决。
- 一个完整的.net作的ObjectDataSource的数据类访问组件
- 一个ObjectDataSource 控件,该控件从名为 AuthorsDB 的数据访问层组件公开数据(代码示例)
- 数据源ObjectDataSource的数据访问类的编写
- 工作后写的一个.net 数据访问组件
- 代码清单7-4是一个比较完整的数据访问组件,下面分析这些代码的具体实现。
- .Net 中ObjectDataSource 的Exception 处理
- 【ASP.NET】GridView与ObjectDataSource的使用
- asp.net(C#)一个简单的数据访问类
- 一个简单的NET数据访问层操作类
- 写一个类的方法并在objectDataSource中应用
- 关于ObjectDataSource搜索数据的问题
- 绑定数据 Repeater 与ObjectDataSource的用法
- 开发一个完整的JavaScript组件
- 开发一个完整的JavaScript组件
- Scott Mitchell 的ASP.NET 2.0数据教程之四: 使用ObjectDataSource展现数据
- Scott Mitchell 的ASP.NET 2.0数据教程之四:: 使用ObjectDataSource展现数据
- Scott Mitchell 的ASP.NET 2.0数据教程之四:: 使用ObjectDataSource展现数据
- Scott Mitchell 的ASP.NET 2.0数据教程之四:: 使用ObjectDataSource展现数据
- 如何用C#获取指定文件夹下所有文件名?
- 2008年最热门的七大IT软件技能
- 2007年最经典的语录集锦
- 如何遍历一个文件夹下的所有文件与目录在(Javascript中)
- MTK User Manual for Resource Generator Tool
- 一个完整的.net作的ObjectDataSource的数据类访问组件
- 函数可充入性及编写规范
- I/O正交调制
- as3的hit检测
- volatile用法
- C#1.1中实现 foreach 功能
- 从AS2到AS3
- The Enigma Protector 1.40 Build 22 January 2008
- MSCOMM属性