ASP教程之亲热打仗ASP.Net(8) DataSet
asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.我们这里仍是来说讲DataSet吧,这是一个功效壮大的东东,我们在上一节对它有了一个开端的懂得,这里我们要讲其假如用来操纵数据。也是很复杂的东东,可是功效壮大,要讲全,不太大概,由于DataSet和DataGrid控件的解说就占了.Net匡助的50%以上,而这个统共有23M...这里我们创建一个test.mdb数据库,做为测试的数据库,个中有一个名为aspcn的表,数据布局如图:
-1
不需DataSet的数库操纵
在讲DataSet的使用之前,我们来看看在ASP.net不利用DataSet怎样对数据库举行拔出,更新,删除.
要对数据举行拔出,更新,删除而又不克不及用DataSet,没有举措,只要用SQL间接来啦:),我这里只讲一下如何往拔出,由于别的的操纵只是改一下SQL语句,我想人人没有成绩吧。这里因为利用的是mdb数据库,那末此次就要用ADO.net来操纵了。
我们先看看全部源代码再说
<%@PageLanguage="C#"%>
<%@ImportNamespace="System.Data"%>
<%@ImportNamespace="System.Data.ADO"%>
<ScriptLanguage="C#"Runat="Server">
publicstringmyConnstring="Driver={MicrosoftAccessDriver(*.mdb)};DBQ=c:/test/test.mdb;";
ADOConnectionMyConnection;
publicvoidPage_Load(Objectsrc,EventArgse)
{
file://用户提交数据
}
publicvoidsubmit_Click(Objectsrc,EventArgse)
{
stringusername1=Request.Form["username"];
stringaddress1=Request.Form["address"];
stringschool1=Request.Form["shool"];
stringstrInsert="insertintoaspcn(username,address,school)
values("+username1+","+address1+","+school1+")";
file://开始联合
try
{
MyConnection=newADOConnection(myConnstring);
ADOCommandMyCommand=newADOCommand(strInsert,MyConnection);
MyConnection.Open();
MyCommand.ExecuteNonQuery();
MyConnection.Close();
Info.Text="数据已保留";
}
catch(Exceptionee)
{
Info.Text="产生毛病:"+ee.Message;
}
}
</script>
<html>
<head>
<title></title>
</head>
<body>
<asp:Labelid="Info"runat=server/><br>
<formrunat="server">
用户名:<inputtype="text"name="username"size="20"><br>
住址:<inputtype="text"name="address"size="20"><br>
黉舍:<inputtype="text"name="school"size="20"><br>
<inputtype="button"value="提交"runat="server"OnServerClick="submit_Click">
<p>1</p>
</form>
</body>
</html>
下面的程序实行情形看上面两个图:
-2实行前
-3实行后
由于我们是用的Access,以是起首就要声名一下啦
<%@ImportNamespace="System.Data"%>
<%@ImportNamespace="System.Data.ADO"%>
标明我们这里利用的是ADO.net.
我们提交进数据库的数据,来自于用户的输出,这里利用的是一个我们罕见到的<form>表单,月朔看和一般的没有甚么区分,可是我们细心看看它的<form>中的属性是甚么,runat="server",呵呵,就是这么一个小小的标签,这个程序的性子就变啦。这标明他是一个WebForm了。这里我用了HTML控件,目标就是为了让人人看看ASP.net和ASP究竟有哪些区分。
<formrunat="server">
用户名:<inputtype="text"name="username"><br>
住址:<inputtype="text"name="address"><br>
黉舍:<inputtype="text"name="school"><br>
<inputtype="button"value="提交"runat="server"OnServerClick="submit_Click">
</form>
在下面的代码,有一点必要注重就是,触发button控件提交事务处置的是OnServerClick,这里人人很少有注重,由于人人利用WEB控件已成习气,很简单就用了onClick事务,呵呵,这类毛病很难发明,错了都不晓得怎样错的:)
上面我们就该在Submit_Click中处置提交事务了,起首是搜集信息,这里我们又看到了久背的Request工具和Form办法。这个和ASP几近是千篇一律的,我也不想多说了。
stringusername1=Request.Form["username"];
stringaddress1=Request.Form["address"];
stringschool1=Request.Form["shool"];
接上去就是将搜集来的数据写进数据库,关于数据库的翻开和实行,我们上一节也讲过了。这里也就不罗嗦了。注重一下SQL语句的准确性就行。
stringstrInsert="insertintoaspcn(username,address,school)values("+username1+","+address1+","+school1+")";
人人也要注重一下我的联合语句(由于良多人来问我,怎样保持mdb数据库,实在和asp是一样,最次要是人人有些人不肯意自已下手往理论,问人已成了习气)
publicstringmyConnstring="Driver={MicrosoftAccessDriver(*.mdb)};DBQ=c:/test/test.mdb;";
这里联合Access最有用的语句(团体以为),实在另有很多多少种写法。好比:
Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:/test/test.mdb
DataSource=aspcn
呵呵,原本这一节是要讲DataSet的,没有想到别的的笔墨一会儿写了这么多,只好留到下一节往讲DataSet了。
优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
页:
[1]