因胸联盟 发表于 2015-1-18 11:14:32

ASP.NET编程:Linq to DataSet(三)仓酷云

我觉得这个学习方法很重要。初学者应该跟我一样有同样一个毛病。那就是急于求成。很想就自己做出个小小的系统来。可真要动手,却又茫然而不知所措。为什么会这样呢?因为我们没有耐心去学习基础知识。写根本看不到什么效果的测试代码。单表查询


[*]DataTabledt=ds.Tables["Product"];
[*]varquery=
[*]//挪用AsEnumerable办法,使DataTable对象撑持LINQ查询
[*]fromrindt.AsEnumerable()
[*]//利用DataRow中的字段利用Field办法,Field为泛型,会见格局:.Field<范例>("字段名")
[*]wherer.Field("cid")==2
[*]selectnew
[*]{
[*]id=r.Field("id"),
[*]name=r.Field("name"),
[*]cid=r.Field("cid")
[*]};
[*]foreach(varpinquery)
[*]{
[*]stringmsg=string.Format("id:{0},name;{1},cid:{2}",p.id,p.name,p.cid);
[*]listBox1.Items.Add(msg);
[*]}

毗连查询


[*]DataTabledt_p=ds.Tables["Product"];
[*]DataTabledt_c=ds.Tables["classify"];
[*]varquery=
[*]fromcindt_c.AsEnumerable()
[*]joinpindt_p.AsEnumerable()onc.Field("id")equalsp.Field("cid")
[*]selectnew
[*]{
[*]id=p.Field("id"),
[*]name=p.Field("name"),
[*]cid=p.Field("cid"),
[*]cname=c.Field("name")
[*]};
[*]foreach(varpinquery)
[*]{
[*]stringmsg=string.Format("id:{0},name;{1},cid:{2},cname:{3}",p.id,p.name,p.cid,p.cname);
[*]listBox1.Items.Add(msg);
[*]}
GroupJoin

LinqtoSQL

起首创建LinqtoSQL类

[*]//LinqtoSQL类:包括分类表classify和产物表product
[*]lq1DataContextlq1=newlq1DataContext();
[*]
[*]//猎取一切分类
[*]varquery=fromcinlq1.classifyselectc;
[*]
[*]foreach(varcinquery)
[*]{
[*]//注重c.product为该分类的产物汇合
[*]foreach(varpinc.product)
[*]{
[*]//注重p.classify.name为该产物的分类名
[*]stringmsg=string.Format("id:{0},称号;{1},分类:{2},",p.id,p.name,p.classify.name);
[*]listBox1.Items.Add(msg);
[*]}
[*]}
删除数据

[*]lqDataContextlq1=newlqDataContext();
[*]
[*]//办法一
[*]//删除id为100的产物
[*]//Delete_Product为附加到lqDataContext上的存储历程
[*]lq1.Delete_Product(100);
[*]
[*]//办法二
[*]//起首找到这笔记录
[*]productpdt=
[*](frompinproduct
[*]wherep.id==100
[*]selectp).first();
[*]
[*]//从客户端缓存删除这笔记录
[*]lq1.product.DeleteOnSubmit(pdt);
[*]
[*]//实行删除
[*]lq1.SubmitChanges();
修正数据

[*]lqDataContextlq1=newlqDataContext();
[*]
[*]//办法一:存储历程
[*]//参数分离为:产物id,称号,代价,数目,分类id
[*]lq1.Update_Product(100,"耐克",99,33,2);
[*]
[*]//办法二
[*]//起首找到这笔记录
[*]productpdt=
[*](frompinproduct
[*]wherep.id==100
[*]selectp).first();
[*]
[*]//修正这笔记录
[*]pdt.name="耐克";
[*]pdt.price=99;
[*]pdt.number=33;
[*]pdt.cid=2;
[*]
[*]//实行删除
[*]lq1.SubmitChanges();
增加数据

[*]lqDataContextlq1=newlqDataContext();
[*]
[*]//办法一:存储历程
[*]
[*]//办法二
[*]productpdt=newproduct();
[*]pdt.id=100
[*]pdt.name="耐克";
[*]pdt.price=99;
[*]pdt.number=33;
[*]pdt.cid=2;
[*]
[*]lq1.product.InsertOnSubmit(p);
[*]lq1.SubmitChanges();
学习asp.net两个月有余了,除了对html、web控件比较熟悉(应该是说都能理解和接受)之外,竟不知道自己还会什么。看了两本书:《精通asp.net网络编程》(人民邮电出版社)、《asp.net实用案例教程》(清华大学出版社)。

飘灵儿 发表于 2015-1-18 23:21:24

能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。

柔情似水 发表于 2015-1-23 23:57:09

虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。

金色的骷髅 发表于 2015-1-31 20:55:13

有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。

因胸联盟 发表于 2015-2-6 11:09:05

在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?

小女巫 发表于 2015-2-7 15:39:54

目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.

再见西城 发表于 2015-2-22 11:32:22

ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。

兰色精灵 发表于 2015-2-22 20:13:04

HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.

老尸 发表于 2015-3-1 18:10:29

关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。

小魔女 发表于 2015-3-7 08:12:45

ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。

再现理想 发表于 2015-3-11 12:44:31

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。

不帅 发表于 2015-3-13 00:09:29

asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!

蒙在股里 发表于 2015-3-20 06:44:15

是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
页: [1]
查看完整版本: ASP.NET编程:Linq to DataSet(三)仓酷云