日期:2014-05-18  浏览次数:20428 次

谁来帮忙做个.net题?
用.net做B/S结构的系统一般采用3层结构,假设有一个数据库表

        Student   {id,name,sex…}

        试用程序表述对该信息表的类结构以及增、删、改、查的操作(只需给出接口描述即可)



------解决方案--------------------
ORM工具生成不就完了
------解决方案--------------------
去搜索NHibernate的资料看看。
------解决方案--------------------
晕!!!!
实体层:新建一个Student类,具体有ID属性、名字等
逻辑层:Student类,具体有方法:Insert( Model.Student )等
数据层就不用我说了,具体实现逻辑层的相关东东
表示层就只接调用逻辑层的方法和检查数据正确性就行了。。。。
------解决方案--------------------


不就是把一个表当一个实体类操作么?
针对面试题,选出脑海中以前的想法:
public interface ITableOperator
{
public SqlDataReader ISelect(xxx....){}
public int IUpdate(xxxx.....){}
public int IInsert(xxxx.....){}
public int IDelete(xxxx....){}
}

------解决方案--------------------
用微软企业库
------解决方案--------------------
我一般用dataquicker,codesmith,nhibernate生成
------解决方案--------------------
codesmith
------解决方案--------------------
把这个表当做一个实体类来写
------解决方案--------------------
codesmith
------解决方案--------------------
工具自动生成的
------解决方案--------------------
http://www.cnblogs.com/ltp/archive/2006/03/15/350930.aspx
动软.Net代码自动生成器
下载一个,然后自己生成.
------解决方案--------------------
楼主要自己钻研钻研哦,并非所有的代码都是现成的!
------解决方案--------------------
我好早以前做过的,但是现在代码在家里硬盘上,我现在在出差,否则可以提供给楼主的!
------解决方案--------------------
现在的工具太强大了,估计很多人都不知道工作原理,郁闷
------解决方案--------------------
MVC三层:
M:StudentEntities实体类{id,name,sex…}和数据库表结构字段一一对应
V:没什么说的,页面表现形式,自定义
C:DataModule数据模型控制类,StudentCtrl对应实体有相应的程序逻辑操作类,可以包含StudentInsertUpdateDelete( Entities.Student,操作类型枚举(增,删,改) )
另外,还应该有一层,数据库通用访问类,做作数据库访问接口调用。
大至就是这些吧...
------解决方案--------------------
"MVC "当是JSP啊?
数据访问:Dal
业务层:Bussiness
视图层:xxx.aspx
Dal层代码段:
sqlconnectionString conn=new sqlconnectionString( "连接字符串 ");
DataTable ExecuteQuery(strig sql)
{
using(sqlDataAdpter sda=new sqlDataAdpter (sql,conn))
{
using(Datatable dt =new DataTable())
{
sda.EucuteQuery();
sda.fill(dt);
retuen dt;
}
}
}
bool ExecuteNonQuery(string sql)
{
using(sqlcommand cmd=new sqlcommand())
{
cmd.commandText=sql;
cmd.connection=conn;
conn.open(0;
try
{
cmd.ExcuteNonQuery();
return true;
}
catch
{
return false;
}
finally
{
conn.close();
}
}
}

Business层:
dal da=new dal();//也可以改单例调用
Datatable select()
{
return dal.ExcuteQuery( "SQL select语句 ");
}
bool insert()
{
return ExcuteNonQuery( "SQL insert语句 ");
}
bool update(string sql)