问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

asp.为什么不在web窗体中处理业务而要创建一个业务逻辑类,怎样把逻辑...

发布网友 发布时间:2024-10-24 12:59

我来回答

2个回答

热心网友 时间:2024-10-29 15:43

1.
对应数据库实体类
[Serializable]
public class mytable
{
private String _pkid = "";
public String pkid
{
get { return _pkid; }
set { _pkid = value; }
}
private String _a = "";
public String a
{
get { return _a; }
set { _a = value; }
}
}
2.操作类:可以将此类放在业务逻辑层,(如果还要细化,可以将此层放在数据库实体操作层)
public class mytableDAO
{
private String _ConnectionString;
public mytableDAO(String ConnectionString)
{
this._ConnectionString = ConnectionString;
}
public int New(Entities.MsgRecord obj)
{
String sql = "insert into mytable(pkid,a) values(@pkid,@a)";
SqlConnection cn = new SqlConnection(this._ConnectionString);
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.Parameters.AddWithValue("@a", obj.a);
cmd.Parameters.AddWithValue("@pkid",
String.Empty.Equals(obj.pkid) ? System.Guid.NewGuid().ToString() : obj.pkid);
try
{
if (cn.State != ConnectionState.Open)
cn.Open();
return cmd.ExecuteNonQuery();
}
catch
{
return -1;
}
finally
{
if (cn.State != ConnectionState.Closed)
cn.Close();
}
}
public int Update(Entities.mytable obj)
{
String sql = "Update mytable Set a=@a Where pkid=@ObjectID";
SqlConnection cn = new SqlConnection(this._ConnectionString);
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.Parameters.AddWithValue("@a", obj.a);
cmd.Parameters.AddWithValue("@pkid", obj.pkid);
try
{
if (cn.State != ConnectionState.Open)
cn.Open();
return cmd.ExecuteNonQuery();
}
catch
{
return -1;
}
finally
{
if (cn.State != ConnectionState.Closed)
cn.Close();
}
}
public int Del(Entities.mytable obj)
{
String sql = "delete from mytable Where pkid=@ObjectID";
SqlConnection cn = new SqlConnection(this._ConnectionString);
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.Parameters.AddWithValue("@ObjectID", obj.pkid);
try
{
if (cn.State != ConnectionState.Open)
cn.Open();
return cmd.ExecuteNonQuery();
}
catch
{
return -1;
}
finally
{
if (cn.State != ConnectionState.Closed)
cn.Close();
}
}
public int Del(String where)
{
String sql = String.Format("delete from mytable Where {0}", where.ToLower().Replace("update", "").Replace("delete", ""));
SqlConnection cn = new SqlConnection(this._ConnectionString);
SqlCommand cmd = new SqlCommand(sql, cn);
try
{
if (cn.State != ConnectionState.Open)
cn.Open();
return cmd.ExecuteNonQuery();
}
catch
{
return -1;
}
finally
{
if (cn.State != ConnectionState.Closed)
cn.Close();
}
}
public DataTable Query(String where)
{
String sql = String.Format("select * from mytable Where {0}", where.ToLower().Replace("update", "").Replace("delete", "").Replace("insert", "").Replace(";", "").Replace("--", "").Replace("exec", ""));
try
{
SqlDataAdapter da = new SqlDataAdapter(sql, new SqlConnection(this._ConnectionString));
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
catch
{
return null;
}
}
}
3.界面层,即.在ui中调用:数据库操作类,如(mytableDao dao=new mytableDao(conn);)
3.1 新增:
private void NewData()
{
String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString
mytableDao dao=new mytableDao(conn);
mytable obj=new mytable();
obj.a=this.txtbox_a.Text;
obj.b=this.txtbox_b.Text;
obj.c=this.txtbox_c.Text;
dao.New(obj);
}
3.2 取数据绑定GridView
private void LoadData_InitGridView()
{
String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString
mytableDao dao=new mytableDao(conn);
Table dt=dao.Query(String.Format(" a ='{0}'",this.txtbox_a.Text));
//gridview
this.GridView1.DataSource=dt;
this.GridView1.DataBind();
//textbox control
this.textbox_a.Text=dt.Rows[0][0].ToString();
}

热心网友 时间:2024-10-29 15:45

怎样把逻辑单元连接到用户界面:可以理解是界面层调用业务逻辑层相关业务,简单的例子你可以实例化业务逻辑类,然后在界面调用这个对象的相关方法就可以了。
这是一个分层思想,想知道为什么可以从最经典的三层架构学起
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果手机微信怎么换漂亮字体(苹果手机微信怎么换行输入) 有什么好用的app转换字体 手写转文字的软件 erp可以看评论地址吗 淘宝评论url是什么意思? 揭秘:码牌支付风控升级,背后真相揭秘 电脑电视直播软件哪个好用什么软件好电脑看电视直播 潼南子同街学区是哪些 三极管BU406价格和参数? 火锅料放在冰柜忘了插电一个星期给会坏了吗 火锅的设备有哪些 为什么全民K歌录出的歌听不清晰要带上耳机听就很好听 补水时痘痘会越来越多,开口闭口型粉刺怎么办? 88VIP优酷会员怎么免费领取啊? ...提示找不到类型或命名空间[Serializable]呢,应该怎么修改才对_百度... 怎样召集微信群里的人开会啊? ...资臣以当世之事,是三顾茅庐的故事,在三国演义中这一章节的标题是什么... 锁屏密码忘记了oppoa3 黑豆浆有糊味能吃吗 飞流短长 戴尔0K8WHD (英特尔 HM67 芯片组这主板好不好? 我在贵网站订了两张3月1号北京-昆明的机票但在同一名下买了两份保险... lazada店铺欺诈怎么办?资金会被冻结吗? ...N4110,I5,2410.当时5400左右。它是DDR2还是DDR3?谢谢! A,B分别在x,y轴上运动,且AB=2a则线段AB中点轨迹 被热水袋烫红了一片能不能消下去 5年前额头撞到墙角,留下了凹疤,问一下什么药可以去那个疤,还有痘印并... 已知A点在x轴上,B在y轴上,绝对值AB=5,说明AB的中点M的轨迹. 速求_百 ... 新时代要继续谱写马克思主义中国化时代化新篇章尤其要强调什么_ 小时候打架额头被抓伤,现在有个疤在上面很难看,已经5年了,用VE十多天... ()是个()谜作文,前一个括号写人名,后一个写他的爱好 怎样免费领取88vip会员? 脸上老长闭口粉刺怎么回事 按意思写表示“看”的词。(双音节)大略的看() 为什么百度hi好友头像没有了 恭敬的看,和大略的看是表示什么指“看”的词语啊 怎么点“百度Hi"交流不了?我发现有的人的“Hi"是红色的,有的是灰色的... ...吃一个狗咬胶骨头剩一坨的时候整个吞了,会不会有问题啊?以后_百度... 为什么我的百度hi头像一直不更新,好友看不到 表示看的词语大略地看() 如何知道我的百度hi联系人是否使用百度hi ...帮忙分析一下。另外部落人多还是联盟人多啊? 魔兽世界玩术士 选哪个种族最好 ...魔兽世界选个术士玩玩,不知道是选联盟还是部落选哪个种族最好?_百 ... 技嘉M68MT-S2(NVIDIA GeForce 7025) 这个主板+什么显卡对玩地下城与... 60l油箱百公里10个油能跑 魔兽世界什么职业比较有发展? 各位前辈,请问魔兽牧师哪个种族比较好 山东有哪些特色水果山东的特产 问下法师选哪个种族好? 魔兽世界部落LR什么种族好点?