大家进来讨论一下这个系统

灰鸟会灰 2009-09-04 11:09:05
我现在一家小公司,小作坊那种。还是用vs2003的。

首先我对.net框架还不是很了解。几乎没有独立开发出像样的东西。通常我们开发web的时候,新建一个aspx页面,会自动生成一个相应的aspx.cs类。当然,我们也可以让这些类继承一个basepage类。另外还有母版页,用户空间。至于数据库操作层,我们还会写model类,工厂接口等等。

而我们这个系统却相差很大。vs2003是没有母版页的,所以要自己写。我们的页面是母版页+组件,就是写一个ContentContainer组件、Content组件,继承PlaceHolder,ContentContainer有ThemeMasterFile属性,用来指定母版页;Content组件里面就是来添加具体的页面,这也是组件,在组件类中指定了所调用的axcx文件。这些具体的页面组件都是继承WebControl, INamingContainer ,这样页面控件使用就很麻烦,必须用FindControl("")。感觉绕了很多弯子。效率估计也不如通常做法高。感觉唯一的好处是公用一个母版页,可能2003没有母版页功能才要这样做的吗?

下面是主要代码:

数据类

Codepublic class AreaData:Lanall.Data.EasyDataSet { /// <value>显示列表名 </value> public const String TABLE_PCMMM008 = "PCMMM008"; /// <value>公司编号 </value> public const String FIELD_PCMMM0h00 = "PCMMM0h00"; public const String FIELD_PCMMM0h01 = "PCMMM0h01"; public const String FIELD_PCMMM0h02 = "PCMMM0h02"; public const String FIELD_PCMMM0h03 = "PCMMM0h03"; public const String FIELD_PCMMM0h04 = "PCMMM0h04"; public AreaData() {
BuildDataTables(); } private void BuildDataTables() { DataTable table; DataColumn column; DataColumnCollection columns; table = new DataTable( TABLE_PCMMM008); columns = table.Columns; column=columns.Add(FIELD_PCMMM0h00, typeof(System.String)); column=columns.Add(FIELD_PCMMM0h01, typeof(System.Int64)); column=columns.Add(FIELD_PCMMM0h02, typeof(System.String)); column.Caption="洲名"; column.MaxLength=200; column=columns.Add(FIELD_PCMMM0h03, typeof(System.String)); column.Caption="国家"; column.MaxLength=200; column=columns.Add(FIELD_PCMMM0h04, typeof(System.String)); column.Caption="地区"; column.MaxLength=200; this.Tables.Add(table); } }

DataAccess类

Codepublic class AreaAccess:Lanall.Data.EasyDataAccess { public AreaAccess() { this.ConnectString=EzNetConfiguration.ConnectionString; } public AreaData GetPCMMM008(string sFilter,string sOrder,AccessQuery query) { string sSql; if (this.DataAdapter == null ) { throw new System.ObjectDisposedException( GetType().FullName ); } string sSqlField=" SELECT PCMMM008.* "; string sSqlCount="SELECT Count(1) "; sSql=" FROM PCMMM008 " +" WHERE PCMMM0h00="+ Lanall.EasySQL.QuotedString(EzNetConfiguration.CompID); sSql=Lanall.EasySQL.MergeSqlFilter(sSql,sFilter,"AND"); if(query!=null) { query.TotalRecords=this.GetQueryTotalRecords(sSqlCount+sSql); } if(!Lanall.EasySystem.IsNullorEmpty(sOrder)) sSql+=" ORDER BY "+ sOrder; AreaData data=new AreaData(); SqlCommand selCommand = new SqlCommand(); selCommand.Connection = this.Connection; selCommand.CommandText = sSqlField+sSql; selCommand.CommandType = CommandType.Text; this.DataAdapter.SelectCommand=selCommand; if(query!=null) this.DataAdapter.Fill(data,query.startRecord,query.maxRecords,AreaData.TABLE_PCMMM008); else this.DataAdapter.Fill(data,0,0,AreaData.TABLE_PCMMM008); this.Connection.Close(); return data; } public AreaData GetPCMMM008ByID(string sXH) { string sSqlFilter; sSqlFilter=" PCMMM0h01 = "+ Lanall.EasySQL.QuotedString(sXH); return GetPCMMM008(sSqlFilter,"",null); } public AreaData GetArea(string sRC,string sFilter){ string sSql; sSql="select distinct "+sRC+" from PCMMM008 "; if(sFilter!="") sSql=sSql+" where "+sFilter; AreaData data=new AreaData(); SqlCommand selCommand = new SqlCommand(); selCommand.Connection = this.Connection; selCommand.CommandText = sSql; selCommand.CommandType = CommandType.Text; this.DataAdapter.SelectCommand=selCommand; this.DataAdapter.Fill(data,0,0,AreaData.TABLE_PCMMM008); this.Connection.Close(); return data; } public int DeletePCMMM008ByID(string sXH) { string sSql; sSql="DELETE FROM PCMMM008 " + " WHERE PCMMM0h00="+ Lanall.EasySQL.QuotedString(EzNetConfiguration.CompID) + " AND PCMMM0h01="+Lanall.EasySQL.QuotedString(sXH); this.ExecuteNonQuery(sSql); return (int)DataAccessReturn.SUCESS; } public int UpdatePCMMM008(AreaData data) { this.DataAdapter.TableMappings.Add("Table",AreaData.TABLE_PCMMM008); GetupdateCommand(); this.DataAdapter.InsertCommand=this.insertCommand; this.DataAdapter.UpdateCommand=this.updateCommand; this.DataAdapter.Update(data,AreaData.TABLE_PCMMM008); return (int)Lanall.Data.DataAccessReturn.SUCESS; } private void GetupdateCommand() { if(this.insertCommand==null) { this.insertCommand = new SqlCommand(@"INSERT INTO PCMMM008(PCMMM0h00, PCMMM0h02, PCMMM0h03,PCMMM0h04) VALUES (@PCMMM0h00,@PCMMM0h02,@PCMMM0h03, @PCMMM0h04);SELECT * FROM PCMMM008 WHERE (PCMMM0h00 = @PCMMM0h00) AND (PCMMM0h01 = @@IDENTITY)",this.Connection); this.insertCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@PCMMM0h00", System.Data.SqlDbType.VarChar, 10, "PCMMM0h00")); this.insertCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@PCMMM0h02", System.Data.SqlDbType.VarChar, 200, "PCMMM0h02")); this.insertCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@PCMMM0h03", System.Data.SqlDbType.VarChar, 200, "PCMMM0h03")); this.insertCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@PCMMM0h04", System.Data.SqlDbType.VarChar, 200, "PCMMM0h04")); } if(this.updateCommand==null) { this.updateCommand = new SqlCommand(@"UPDATE PCMMM008 SET PCMMM0h00 = @PCMMM0h00,PCMMM0h02 = @PCMMM0h02, PCMMM0h03 = @PCMMM0h03, PCMMM0h04 = @PCMMM0h04 WHERE (PCMMM0h00 = @Original_PCMMM0h00) AND (PCMMM0h01 = @Original_PCMMM0h01)",this.Connection); this.updateCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@PCMMM0h00", System.Data.SqlDbType.VarChar, 10, "PCMMM0h00")); this.updateCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@PCMMM0h02", System.Data.SqlDbType.VarChar, 200, "PCMMM0h02")); this.updateCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@PCMMM0h03", System.Data.SqlDbType.VarChar, 200, "PCMMM0h03")); this.updateCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@PCMMM0h04", System.Data.SqlDbType.VarChar, 200, "PCMMM0h04")); this.updateCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_PCMMM0h00", System.Data.SqlDbType.VarChar, 10, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "PCMMM0h00", System.Data.DataRowVersion.Original, null)); this.updateCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_PCMMM0h01", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "PCMMM0h01", System.Data.DataRowVersion.Original, null)); } } }

Bussiness业务类就不写了。




...全文
51 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liumangdaheng 2009-09-04
  • 打赏
  • 举报
回复
有点乱
PandaIT 2009-09-04
  • 打赏
  • 举报
回复
bardic 2009-09-04
  • 打赏
  • 举报
回复
一看乱的就没兴趣
程序漫步 2009-09-04
  • 打赏
  • 举报
回复
我看都不想看~
wiki14 2009-09-04
  • 打赏
  • 举报
回复
.........楼主,把你代码整理好可以么?- -

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧