//数据库基类(部分)
using System;
using System.Data;
using System.Data.SqlClient;namespace HaiSky.HtJob
{
/// <summary>
/// DbClass 的摘要说明。
/// </summary>
public class DbClass
{
private string connectionString;
protected SqlConnection Connection;
public DbClass(string newConnectionString) //构造函数
{
connectionString = newConnectionString; //接收参数
Connection = new SqlConnection(connectionString); //创建数据库连接
} //建立属性,返回连接字符
public string ConnectionString
{
get
{
return connectionString;
}
}
//实现带参数查询连接
private SqlCommand BuildQueryCommand(string storedProcName,IDataParameter[] parameters)
{
SqlCommand command = new SqlCommand(storedProcName,Connection);
command.CommandType = CommandType.StoredProcedure;
foreach (SqlParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
return command;
} private SqlCommand BuildIntCommand(string storedProcName,IDataParameter[] parameters)
{
SqlCommand command = BuildQueryCommand(storedProcName,parameters);
command.Parameters.Add(new SqlParameter("ReturnValue",SqlDbType.Int,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null));
return command;
}
商务层基类(逻辑层)
using System;
namespace Wrox.WebModules.Business
{
public class BizObject
{
public BizObject()
{
}
}
}
//下面是用户注册系统开发的三层构架实例:数据库基类采用上面提供的代码。(部分)
//1、 用户注册模块数据层开发:
using System;
using System.Data;
using System.Data.SqlClient;
using HaiSky.HtJob; //引用基类的空间命名
using System.Xml;
namespace HaiSky.HtJob.Accounts.AccountsData
{
public class User : HaiSky.HtJob.HaiSkyDbObject
{
public User(string newConnectionString) : base(newConnectionString)
{//直接路由连接字符串
}
public int Create(string user_nm,string user_pwd)
{
int rowsAffected;
SqlParameter[] parameters = {new SqlParameter("@user_nm",SqlDbType.Char,16),new SqlParameter("@user_pwd",SqlDbType.Char,16)};
parameters[0].Value = user_nm;
parameters[1].Value = user_pwd;
parameters[2].Direction = ParameterDirection.Output;
try
{
RunProcedure("IF_user_info",parameters,out rowsAffected);
}
catch
{
}
return (int)parameters[2].Value;
}
}
}//2、用户注册商务层开发:
using System;
using System.Configuration;
using HaiSky.HtJob.Accounts.AccountsData;
namespace HaiSky.HtJob.Accounts.AccountBusiness
{
public class User : HaiSky.HtJob.HaiSkyBizObject
{
int userID;
string userName;
string userPwd;
string strConn;
public User()
{
strConn = ConfigurationSettings.AppSettings["strConn"];
}
public int Careate()
{
AccountsData.User dataUser = new AccountsData.User(strConn);
userID = dataUser.Create(userName,userPwd);
return userID;
}
我想问一下,基类和数据层中的类有什么样的关系,两者是放在一起的吗,我在《asp.net web站点高级编程 -提出问题 -设计方案 -解决问题》这本书里面看到的有的基类好像都没有什么代码,很简单的东西,在数据层中也没有用处似的请大侠帮看看基类和数据层应该怎么样理解,谢谢了。
using System;
using System.Data;
using System.Data.SqlClient;namespace HaiSky.HtJob
{
/// <summary>
/// DbClass 的摘要说明。
/// </summary>
public class DbClass
{
private string connectionString;
protected SqlConnection Connection;
public DbClass(string newConnectionString) //构造函数
{
connectionString = newConnectionString; //接收参数
Connection = new SqlConnection(connectionString); //创建数据库连接
} //建立属性,返回连接字符
public string ConnectionString
{
get
{
return connectionString;
}
}
//实现带参数查询连接
private SqlCommand BuildQueryCommand(string storedProcName,IDataParameter[] parameters)
{
SqlCommand command = new SqlCommand(storedProcName,Connection);
command.CommandType = CommandType.StoredProcedure;
foreach (SqlParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
return command;
} private SqlCommand BuildIntCommand(string storedProcName,IDataParameter[] parameters)
{
SqlCommand command = BuildQueryCommand(storedProcName,parameters);
command.Parameters.Add(new SqlParameter("ReturnValue",SqlDbType.Int,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null));
return command;
}
商务层基类(逻辑层)
using System;
namespace Wrox.WebModules.Business
{
public class BizObject
{
public BizObject()
{
}
}
}
//下面是用户注册系统开发的三层构架实例:数据库基类采用上面提供的代码。(部分)
//1、 用户注册模块数据层开发:
using System;
using System.Data;
using System.Data.SqlClient;
using HaiSky.HtJob; //引用基类的空间命名
using System.Xml;
namespace HaiSky.HtJob.Accounts.AccountsData
{
public class User : HaiSky.HtJob.HaiSkyDbObject
{
public User(string newConnectionString) : base(newConnectionString)
{//直接路由连接字符串
}
public int Create(string user_nm,string user_pwd)
{
int rowsAffected;
SqlParameter[] parameters = {new SqlParameter("@user_nm",SqlDbType.Char,16),new SqlParameter("@user_pwd",SqlDbType.Char,16)};
parameters[0].Value = user_nm;
parameters[1].Value = user_pwd;
parameters[2].Direction = ParameterDirection.Output;
try
{
RunProcedure("IF_user_info",parameters,out rowsAffected);
}
catch
{
}
return (int)parameters[2].Value;
}
}
}//2、用户注册商务层开发:
using System;
using System.Configuration;
using HaiSky.HtJob.Accounts.AccountsData;
namespace HaiSky.HtJob.Accounts.AccountBusiness
{
public class User : HaiSky.HtJob.HaiSkyBizObject
{
int userID;
string userName;
string userPwd;
string strConn;
public User()
{
strConn = ConfigurationSettings.AppSettings["strConn"];
}
public int Careate()
{
AccountsData.User dataUser = new AccountsData.User(strConn);
userID = dataUser.Create(userName,userPwd);
return userID;
}
我想问一下,基类和数据层中的类有什么样的关系,两者是放在一起的吗,我在《asp.net web站点高级编程 -提出问题 -设计方案 -解决问题》这本书里面看到的有的基类好像都没有什么代码,很简单的东西,在数据层中也没有用处似的请大侠帮看看基类和数据层应该怎么样理解,谢谢了。
解决方案 »
- 无法加载 DLL“Mwic_32.dll”: 找不到指定的模块。
- 如何转换unix时间戳?
- 将查询到的数据显示在一个datagridView中,即实现数据的追加而不是刷新datagridView
- 【小白电脑前坐等高手答复】Gridview下载和删除
- win7旗舰版安装Visual Studio 2010 Ultimate失败,求救!
- C#中如何存取SQL SERVER的IMAGE字段内容
- 求能不能实现输入多个汉字后转换成汉字区位码呢?代码是单个汉字的~
- 关于winmm.dll
- winform DataGrid绑定ArrayList,但不能排序,100分求解!!
- socket接收并保存数据
- 如何取得实例的DLL文件名
- 关于循环停止的问题
5. 基类
通用类,可以用于其它项目,类库的形式
可不可以将基类和数据层放在一起,上面的代码是没有放在一起的
是继承过来的,他们是在一个数据层中的不同的文件名的吗?
也就是都放在数据层中,是两个不同的文件。如:database.cs data.cs
如果不是这样的,还是将他们分在两面个不同的层中的呢?
两层是c/s(客户端/服务器)不要理解为项目代码的结构
两层是c/s(客户端/服务器)不要理解为项目代码的结构-----------------------------------
完全错误!
两层是c/s(客户端/服务器)不要理解为项目代码的结构-----------------------------------
完全错误!------------------完全同意