首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

哪位高手来帮忙做个.net题

2012-01-30 
谁来帮忙做个.net题?用.net做B/S结构的系统一般采用3层结构,假设有一个数据库表Student{id,name,sex…}试用

谁来帮忙做个.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)


{
return ExcuteNonQuery( "SQL update语句 ");
}
bool del(string sql)
{
return ExcuteNonQuery( "SQL delete语句 ");
}

xxx.aspx:
business bis=new business();
要返回数据的事件里:
Dataview1.datasource= bis.select();

要添加数据的事件里:
if(bis.insert());
{
添加正确的提示;
}
else
{
添加错误的提示;
}
要修改数据的事件里:
if(bis.update());
{
修改正确的提示;
}
else
{
修改错误的提示;
}

要删除数据的事件里:
if(bis.insert());
{
删除正确的提示;
}
else
{
删除错误的提示;
}


that 's all,good luck
顺便问一下,刚才那位用codesmith的
codesmith生成的nettiers的结构运行流程是什么?
我急着要用它做个项目,帮帮忙,谢谢了

[解决办法]
好像有个工具可以自动生成哈
[解决办法]
接口哪有声明Public的
[解决办法]
-_-!接口无方法实体,当我上面的没说过
[解决办法]
这个不就是实体层 MODEL 啊
[解决办法]
看看petshop就知道了
[解决办法]
codesmith,模版生成
[解决办法]
要表模型的 还是 领域模型的哦?
[解决办法]
哦们都是用CodeSmith自动生成NHibernate 的逻辑层和实体层滴.
[解决办法]
// Model
using System;
using System.Data;
using System.Configuration;

/// <summary>
/// Student 实体类。
/// </summary>
public class Student
{
private int _id;
private string _firstName;
private string _lastName;
private string _email;
// ...

public Student()
{
//
// TODO: Add constructor logic here
//
}

public Student(int id)
: this()
{
this._id = id;
}

public Student(int id, string firstName, string lastName)
: this(id)
{
this._firstName = firstName;
this._lastName = lastName;
}

public int ID
{
get { return _id;}
set { _id = value; }
}

public string FirstName
{
get { return _firstName; }
set { _firstName =value; }
}

public string LastName
{
get { return _lastName; }
set { _lastName = value; }
}

public string Email
{
get { return _email; }
set { _email = value; }
}
// ...
}

// BLL
using System;
using System.Data;
using System.Collections.Generic;
using System.Configuration;

/// <summary>
/// Student 业务逻辑类
/// </summary>
public class StudentSys
{
static StudentDb dal = new StudentDb();

public StudentSys()
{
//
// TODO: Add constructor logic here
//
}

public void CreateStudent(Student student)
{
dal.CreateStudent(student);
}

public void UpdateStudent(Student student)
{
bool success = dal.UpdateStudent(student);


// ...
}

public void DeleteStudent(int id)
{
bool success = dal.DeleteStudent(id);
}

public Student GetStudent(int id)
{
return dal.GetStudent(id);
}

public IList <Student> GetStudent()
{
return dal.GetStudent();
}
}

// DAL
using System;
using System.Data;
using System.Collections.Generic;
using System.Configuration;

/// <summary>
/// Student 业务数据类
/// </summary>
public class StudentDb
{
public StudentDb()
{
//
// TODO: Add constructor logic here
//
}

public void CreateStudent(Student student)
{
// Insert a Student into db by ADO.NET
// ...
}

public bool UpdateStudent(Student student)
{
// Update a Student by ADO.NET
// ...
// return true;
return false;
}

public bool DeleteStudent(int id)
{
// Delete a Student with the specified ID
// ...
// return true;
return false;
}

public Student GetStudent(int id)
{
// Retrieve a Student Info with the specified ID
// ...
return null;
}

public IList <Student> GetStudent()
{
// Retrieve all Students
// ...
return new List <Student> ();
}
}

热点排行