仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 536|回复: 8
打印 上一主题 下一主题

[学习教程] NET网页编程之使用add-in扩大性将代码天生器集成到VS情况中(四)-天生DAL层代码 ...

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:20:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一般的指的.net就是跟java相对的那种,主要是做企业级应用的。你如果想学这个,主要就是学C#和数据库。(ASP.NET好像很重要的,应该也要学的,ASP.NET上好像可以结合VB和C#等多种语言,但是微软主推C#)DAL需天生的代码对照多,共有以下几个办法:
1,判别该纪录是不是已存在
2,增添一条数据
3,更新一条数据
4,更新一条数据形态
5,删除一条数据
6,取得数据列表
7,失掉一个工具实体
人人能够依据本人的必要改写天生代码。

publicclassSetDAL
{
privateTextSelectionts;
privateTableFrametableframe;
privatestringnamespacestr;
privatestringfolder;
privatestringdalname;
privatestringmodelname;

publicSetDAL(TextSelection_ts,TableFrame_tableframe,string_namespacestr,string_dalname,string_modelname,string_folder)
{
this.ts=_ts;
this.tableframe=_tableframe;
this.namespacestr=_namespacestr;
this.modelname=_modelname;
this.dalname=_dalname;
this.folder=_folder;
}

publicvoidSetText()
{
ts.SelectAll();
ts.Text=GetText().ToString();
}

privateStringBuilderGetText()
{
List<TableColumn>tempTableItems=tableframe.SplitedItems(tableframe.TableItems);
StringBuilder_str=newStringBuilder();

_str.Append("/*usingSystem;").Append("
");
_str.Append("usingSystem.Collections.Generic;").Append("
");
_str.Append("usingSystem.Data;").Append("
");
_str.Append("usingSystem.Text;").Append("
");
_str.Append("usingSystem.Collections;").Append("
");
_str.Append("usingSystem.Data.SqlClient;").Append("
").Append("
");
_str.Append("namespace").Append(namespacestr).Append(".").Append(dalname).Append(".").Append(folder).Append("
");
_str.Append("{").Append("
");
_str.Append("publicclass").Append(tableframe.TableName).Append("
");
_str.Append("{").Append("
");

tools.SetNoteStr(_str,"判别该纪录是不是已存在");
_str.Append("publicboolExists(").Append(tools.GetPrimaryKeysStr(tableframe.KeysItems)).Append(")").Append("
");
_str.Append("{").Append("
");
_str.Append("StringBuilderstrSql=newStringBuilder();").Append("
");
_str.Append("strSql.Append("selectcount(1)from").Append(tableframe.TableName).Append("where").Append(tools.GetPrimaryKeyFilterStr(tableframe.KeysItems)).Append("");").Append("
");
_str.Append(tools.GetSqlParameterStr(tableframe.KeysItems,true)).Append(";
");
_str.Append(tools.GetPrimaryKeyValueStr(tableframe.KeysItems)).Append("
");
_str.Append("returnDbHelperSQL.Exists(strSql.ToString(),parameters);").Append("
");
_str.Append("}").Append("
").Append("
");

tools.SetNoteStr(_str,"增添一条数据");
_str.Append("publicDictionaryEntryAdd_DictionaryEntry(").Append(namespacestr).Append(".").Append(modelname).Append(".").Append(folder).Append(".").Append(tableframe.TableName).Append("model)").Append("
");
_str.Append("{").Append("
");
_str.Append("StringBuilderstrSql=newStringBuilder();").Append("
");
_str.Append("strSql.Append("insertinto").Append(tableframe.TableName).Append("(");").Append("
");
_str.Append("strSql.Append("");
StringBuildercolstr=newStringBuilder();
foreach(TableColumncolintempTableItems)
{
colstr.Append(",").Append(col.ColumnName);
}
_str.Append(colstr.ToString().substring(1));
_str.Append("");").Append("
");
_str.Append("strSql.Append(")values(")").Append(";
");
_str.Append("strSql.Append("");
colstr=newStringBuilder();
foreach(TableColumncolintempTableItems)
{
colstr.Append(",@").Append(col.ColumnName);
}
_str.Append(colstr.ToString().substring(1));
_str.Append(")");").Append("
");
_str.Append(tools.GetSqlParameterStr(tempTableItems,true)).Append(";
");
_str.Append(tools.GetSqlParameterValueStr(tempTableItems)).Append("
");
_str.Append("returnnewDictionaryEntry(strSql,parameters);").Append("
");
_str.Append("}").Append("
").Append("
");

tools.SetNoteStr(_str,"更新一条数据");
_str.Append("publicDictionaryEntryUpdate_DictionaryEntry(").Append(namespacestr).Append(".").Append(modelname).Append(".").Append(folder).Append(".").Append(tableframe.TableName).Append("model)").Append("
");
_str.Append("{").Append("
");
_str.Append("StringBuilderstrSql=newStringBuilder();").Append("
");
_str.Append("strSql.Append("Update").Append(tableframe.TableName).Append("set");").Append("
");
for(inti=0;i<tempTableItems.Count;i++)
{
if(tableframe.KeysItems.Find(delegate(TableColumnp){returnp.ColumnName==tempTableItems[i].ColumnName;})==null)
{
_str.Append("strSql.Append("").Append(tempTableItems[i].ColumnName).Append("=@").Append(tempTableItems[i].ColumnName).Append("").Append((i==(tempTableItems.Count-1))?string.Empty:",").Append("")").Append(";
");
}
}
_str.Append("strSql.Append("where");
_str.Append(tools.GetPrimaryKeyFilterStr(tableframe.KeysItems));
_str.Append("");").Append("
");
_str.Append(tools.GetSqlParameterStr(tempTableItems,true)).Append(";
");
_str.Append(tools.GetSqlParameterValueStr(tempTableItems)).Append("
");
_str.Append("returnnewDictionaryEntry(strSql,parameters);").Append("
");
_str.Append("}").Append("
").Append("
");

tools.SetNoteStr(_str,"更新一条数据形态");
_str.Append("publicDictionaryEntryChangeState_DictionaryEntry(").Append(tools.GetPrimaryKeysStr(tableframe.KeysItems)).Append(",stringState,stringAuditer,DateTimeAuditDate)").Append("
");
_str.Append("{").Append("
");
_str.Append("StringBuilderstrSql=newStringBuilder();").Append("
");
_str.Append("strSql.Append("Update"+tableframe.TableName+"setState=@State,Auditer=@Auditer,AuditDate=@AuditDatewhere").Append(tools.GetPrimaryKeyFilterStr(tableframe.KeysItems)).Append("");").Append("
");
_str.Append("SqlParameter[]parameters={").Append("
");
_str.Append(tools.GetSqlParameterStr(tableframe.KeysItems,false));
_str.Append("                                                                newSqlParameter("@State",SqlDbType.VarChar,50),").Append("
");
_str.Append("                                                                newSqlParameter("@Auditer",SqlDbType.VarChar,50),").Append("
");
_str.Append("                                                                newSqlParameter("@AuditDate",SqlDbType.DateTime,8),").Append("
");
_str.Append("                                                                                };").Append("
");
_str.Append(tools.GetPrimaryKeyValueStr(tableframe.KeysItems));
_str.Append("parameters[").Append(tableframe.KeysItems.Count).Append("].Value=State;").Append("
");
_str.Append("parameters[").Append(tableframe.KeysItems.Count+1).Append("].Value=Auditer;").Append("
");
_str.Append("parameters[").Append(tableframe.KeysItems.Count+2).Append("].Value=AuditDate;").Append("
").Append("
");
_str.Append("returnnewDictionaryEntry(strSql,parameters);").Append("
");
_str.Append("}").Append("
").Append("
");

tools.SetNoteStr(_str,"删除一条数据");
_str.Append("publicDictionaryEntryDelete_DictionaryEntry(").Append(tools.GetPrimaryKeysStr(tableframe.KeysItems)).Append(")").Append("
");
_str.Append("{").Append("
");
_str.Append("StringBuilderstrSql=newStringBuilder();").Append("
");
_str.Append("strSql.Append("Deletefrom").Append(tableframe.TableName).Append("");").Append("
");
_str.Append("strSql.Append("where");
_str.Append(tools.GetPrimaryKeyFilterStr(tableframe.KeysItems));
_str.Append("");").Append("
");
_str.Append(tools.GetSqlParameterStr(tableframe.KeysItems,true)).Append(";
");
_str.Append(tools.GetPrimaryKeyValueStr(tableframe.KeysItems)).Append("
");
_str.Append("returnnewDictionaryEntry(strSql,parameters);").Append("
");
_str.Append("}").Append("
").Append("
");

tools.SetNoteStr(_str,"取得数据列表");
_str.Append("publicDataSetGetList(stringstrWhere)").Append("
");
_str.Append("{").Append("
");
_str.Append("StringBuilderstrSql=newStringBuilder();").Append("
");
_str.Append("strSql.Append("select*FROM").Append(tableframe.TableName).Append("");").Append("
");
_str.Append("if(strWhere.Trim().Length!=0)").Append("
");
_str.Append("{").Append("
");
_str.Append("strSql.Append("where"+strWhere);").Append("
");
_str.Append("}").Append("
").Append("
");
_str.Append("returnDbHelperSQL.Query(strSql.ToString());").Append("
");
_str.Append("}").Append("
").Append("
");

tools.SetNoteStr(_str,"失掉一个工具实体");
_str.Append("public").Append(namespacestr).Append(".").Append(modelname).Append(".").Append(folder).Append(".").Append(tableframe.TableName).Append("GetModel(").Append(tools.GetPrimaryKeysStr(tableframe.KeysItems)).Append(")").Append("
");
_str.Append("{").Append("
");;
_str.Append("StringBuilderstrSql=newStringBuilder();").Append("
");
_str.Append("strSql.Append("selecttop1*from"+tableframe.ViewName+"");").Append("
");
_str.Append("strSql.Append("where").Append(tools.GetPrimaryKeyFilterStr(tableframe.KeysItems)).Append("");").Append("
");
_str.Append(tools.GetSqlParameterStr(tableframe.KeysItems,true)).Append(";
");
_str.Append(tools.GetPrimaryKeyValueStr(tableframe.KeysItems)).Append("
");
_str.Append(namespacestr).Append(".").Append(modelname).Append(".").Append(folder).Append(".").Append(tableframe.TableName).Append("model=new").Append(namespacestr).Append(".").Append(modelname).Append(".").Append(folder).Append(".").Append(tableframe.TableName).Append("();").Append("
");
_str.Append("DataSetds=DbHelperSQL.Query(strSql.ToString(),parameters);").Append("
");
_str.Append("if(ds.Tables[0].Rows.Count>0)").Append("
");
_str.Append("{");

strings="";
foreach(TableColumncolintableframe.ViewItems)
{
switch(col.ColumnType.ToLower())
{
case"nchar":
case"ntext":
case"varchar":
{
_str.Append("model.").Append(col.ColumnName).Append("=ds.Tables[0].Rows[0]["").Append(col.ColumnName).Append(""].ToString();").Append("
");
break;
}
case"tinyint":
case"int":
{
s="model."+col.ColumnName+"=int.Parse(ds.Tables[0].Rows[0][""+col.ColumnName+""].ToString());";
ToConvert(_str,col.ColumnName,s);
break;
}
case"money":
case"decimal":
case"numeric":
{
s="model."+col.ColumnName+"=decimal.Parse(ds.Tables[0].Rows[0][""+col.ColumnName+""].ToString());";
ToConvert(_str,col.ColumnName,s);
break;
}
case"float":
{
s="model."+col.ColumnName+"=float.Parse(ds.Tables[0].Rows[0][""+col.ColumnName+""].ToString());";
ToConvert(_str,col.ColumnName,s);
break;
}
case"datetime":
{
s="model."+col.ColumnName+"=DateTime.Parse(ds.Tables[0].Rows[0][""+col.ColumnName+""].ToString());";
ToConvert(_str,col.ColumnName,s);
break;
}
case"bit":
{
_str.Append("if(ds.Tables[0].Rows[0][""+col.ColumnName+""].ToString()!="")").Append("
");
_str.Append("{").Append("
");
_str.Append("if((ds.Tables[0].Rows[0][""+col.ColumnName+""].ToString()=="1")||(ds.Tables[0].Rows[0][""+col.ColumnName+""].ToString().ToLower()=="true"))").Append("
");
_str.Append("{").Append("
");
_str.Append("model."+col.ColumnName+"=true;").Append("
");
_str.Append("}").Append("
");
_str.Append("else").Append("
");
_str.Append("{").Append("
");
_str.Append("model."+col.ColumnName+"=false;").Append("
");
_str.Append("}").Append("
");
_str.Append("}").Append("
");
break;
}
}
}

_str.Append("returnmodel;").Append("
");
_str.Append("}").Append("
");
_str.Append("else").Append("
");
_str.Append("{").Append("
");
_str.Append("returnnull;").Append("
");
_str.Append("}").Append("
");
_str.Append("}").Append("
");
_str.Append("}").Append("
");
_str.Append("}").Append("
");

return_str;
}

privatevoidToConvert(StringBuilderstr,stringcolumnname,stringlenstr)
{
str.Append("if(ds.Tables[0].Rows[0][""+columnname+""].ToString()!="")").Append("
");
str.Append("{").Append("
");
str.Append(lenstr).Append("
");
str.Append("}").Append("
");
}
}
你觉得学习.NET怎么样,我懂的少,问的可能很幼稚,见笑了啊:)
若天明 该用户已被删除
沙发
发表于 2015-1-18 13:07:08 | 只看该作者
那么,ASP.Net有哪些改进呢?
小魔女 该用户已被删除
板凳
发表于 2015-1-25 13:45:16 | 只看该作者
但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。
蒙在股里 该用户已被删除
地板
发表于 2015-2-2 22:19:18 | 只看该作者
由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。
不帅 该用户已被删除
5#
发表于 2015-2-8 14:42:53 | 只看该作者
现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
冷月葬花魂 该用户已被删除
6#
发表于 2015-2-25 19:59:00 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。
再见西城 该用户已被删除
7#
发表于 2015-3-8 04:16:32 | 只看该作者
由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。
深爱那片海 该用户已被删除
8#
发表于 2015-3-15 21:32:47 | 只看该作者
Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。
再现理想 该用户已被删除
9#
发表于 2015-3-22 05:08:58 | 只看该作者
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-1 18:09

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表