亲密接触ASP.Net(8)

asp.net

我们前面的章节讲了一下如何显示数据库中信息以及DataReader和DataSet的基本用法,
有朋友说不过瘾,要我快快写下面的章节,很是对不起,我实在是没有太多时间,写这
些很慢。(不要扔鸡蛋,最多我不说废话啦)

我们这里还是来讲讲DataSet吧,这是一个功能强大的东东,我们在上一节对它有了一个
初步的了解,这里我们要讲其如果用来操作数据。也是很简单的东东,但是功能强大,要
讲全,不太可能,因为DataSet和DataGrid控件的讲解就占了.Net 帮助的50%以上,而这
个总共有23M...

这里我们建立一个test.mdb数据库,做为测试的数据库,其中有一个名为aspcn的表,数
据结构如图

图 8-1

不需DataSet的数库操作

在讲DataSet的应用之前,我们来看看在ASP.net不使用DataSet如何对数据库进行插入,
更新,删除.

要对数据进行插入,更新,删除而又不能用DataSet,没有办法,只有用SQL直接来啦:)
,我这里只讲一下怎样去插入,因为其它的操作只是改一下SQL语句,我想大家没有问题
吧。这里由于使用的是mdb数据库,那么这次就要用ADO.net来操作了。

我们先看看整个源代码再说

<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.ADO" %>
<Script Language="C#" Runat="Server">
public string myConnstring="Driver={Microsoft Access Driver (*.mdb)};
DBQ=c:/test/test.mdb;";
ADOConnection MyConnection;
public void Page_Load(Object src,EventArgs e)
{

//用户提交数据

}
public void submit_Click(Object src,EventArgs e)
{
string username1 = Request.Form["username"];
string address1 = Request.Form["address"];
string school1 = Request.Form["shool"];
string strInsert="insert into aspcn(username,address,school)
values('"+username1+"','"+address1+"','"+school1+"')";
//开始联结
try
{
MyConnection = new ADOConnection(myConnstring);
ADOCommand MyCommand = new ADOCommand(strInsert,MyConnection);
MyConnection.Open();
MyCommand.ExecuteNonQuery();
MyConnection.Close();
Info.Text="数据已经保存";
}
catch(Exception ee)
{
Info.Text="发生错误:"+ee.Message;
}

}
</script>
<html>
<head>
<title></title>
</head>
<body>
<asp:Label id="Info" runat=server /><br>
<form runat="server">
用户名:<input type="text" name="username" size="20" ><br>
住址:<input type="text" name="address" size="20" ><br>
学校:<input type="text" name="school" size="20" ><br>
<input type="button" value="提交" runat="server"
OnServerClick="submit_Click" >
<p>1</p>
</form>
</body>
</html>

上面的程序执行情况看下面两个图:

图8-2 执行前

图8-3 执行后

因为我们是用的Access,所以首先就要申明一下啦

<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.ADO" %>

表明我们这里使用的是ADO.net.

我们提交入数据库的数据,来自于用户的输入,这里使用的是一个我们常见到的<form>
表单,初一看和普通的没有什么区别,但是我们仔细看看它的<form>中的属性是什么,ru
nat="server",呵呵,就是这么一个小小的标签,这个程序的性质就变啦。这表明他是一
个Web Form了。这里我用了HTML控件,目的就是为了让大家看看ASP.net和ASP到底有哪
些区别。

<form runat="server">
用户名:<input type="text" name="username" ><br>
住址:<input type="text" name="address" ><br>
学校:<input type="text" name="school" ><br>
<input type="button" value="提交" runat="server"
OnServerClick="submit_Click" >
</form>

在上面的代码,有一点需要注意就是,触发button控件提交事件处理的是OnServerClick
,这里大家很少有注意,因为大家使用WEB控件已成习惯,很容易就用了OnClick事件,呵
呵,这种错误很难发现,错了都不知道怎么错的:)

下面我们就该在Submit_Click中处理提交事件了,首先是收集信息,这里我们又看到了
久违的Request对象和Form方法。这个和ASP几乎是一模一样的,我也不想多说了。

string username1 = Request.Form["username"];
string address1 = Request.Form["address"];
string school1 = Request.Form["shool"];

接下来就是将收集来的数据写入数据库,关于数据库的打开和执行,我们上一节也讲过
了。这里也就不罗嗦了。注意一下SQL语句的正确性就行。

string strInsert="insert into aspcn(username,address,school)
values('"+username1+"','"+address1+"','"+school1+"')";

大家也要注意一下我的联结语句(因为很多人来问我,如何连结mdb数据库,其实和asp是
一样,最主要是大家有些人不愿意自已动手去实践,问人已经成为了习惯)

public string myConnstring="Driver={Microsoft Access Driver (*.mdb)};
DBQ=c:/test/test.mdb;";

这里联结Access最实用的语句(个人认为),其实还有好多种写法。比如:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/test/test.mdb

Data Source=aspcn

呵呵,本来这一节是要讲DataSet的,没有想到其它的文字一下子写了这么多,只好留到
下一节去讲DataSet了

时间: 2024-11-08 22:33:38

亲密接触ASP.Net(8)的相关文章

亲密接触ASP.Net(16) Cookie

Cookie Cookie的用法也和ASP中差不多.比如我们建立一个名为aspcn,值为飞刀的cookie HttpCookie cookie = new HttpCookie["aspcn"];cookie.Value = "飞刀";Response.AppendCookie(cookie); 我们取出Cookie值也很简单 HttpCookie cookie = Request.Cookies["aspcn"];cookieValue = c

亲密接触ASP.Net(15) 状态保存

ASP.Net中状态保存 在ASP保存一些共享.个人状态,使用的是Application.Session.Cookie这三种.呵呵.在ASP.Net中M$除了继承Application等外,又给我们新的一种状态变量信息State,它是用来保存WEB控件的状态的变量,很新鲜吧,一定要快点知道啦:) 不好意思,飞刀还是从原始一步步来说吧.先从Application讲起.(台下一片吼声),没有办法,为了有个阶梯性,还是不应当过早接触新东东啦:) Application 在ASP.Net中Applica

亲密接触ASP.Net

asp.net     ASP+出来都快半年了,我们站点也做了不少的介绍,但是今天飞刀我才终于有了心思来写一下关于这个ASP+的文章了.呵呵,让大家久等了.      首先我得申明,本教程适用于有一定网络编程经验的人,比如asp,PHP,CGI,JSP开发者,如果你对网络编程一点也不了解,那么您还是先去学学其它的语言,不然以下的文章您会有很多看不懂的地方.呵呵.      我们开始吧.      ASP+的运行环境      我们要学习ASP+,就先得搞一个调试环境出来.让你的"爱鸡"

亲密接触ASP+(1)

ASP+出来都快半年了,我们站点也做了不少的介绍,但是今天飞刀我才终于有了心思来写一下关于这个ASP+的文章了.呵呵,让大家久等了. 首先我得申明,本教程适用于有一定网络编程经验的人,比如asp,php,cgi,jsp开发者,如果你对网络编程一点也不了解,那么您还是先去学学其它的语言,不然以下的文章您会有很多看不懂的地方.呵呵. 我们开始吧. ASP+的运行环境 我们要学习ASP+,就先得搞一个调试环境出来.让你的"爱鸡"支持asp+,那么您需要以下的条件: Windows 2000

亲密接触ASP.Net(1) ASP+的配制环境

ASP+出来都快半年了,我们站点也做了不少的介绍,但是今天飞刀我才终于有了心思来写一下关于这个ASP+的文章了.呵呵,让大家久等了. 首先我得申明,本教程适用于有一定网络编程经验的人,比如asp,php,cgi,jsp开发者,如果你对网络编程一点也不了解,那么您还是先去学学其它的语言,不然以下的文章您会有很多看不懂的地方.呵呵. 我们开始吧. ASP+的运行环境 我们要学习ASP+,就先得搞一个调试环境出来.让你的"爱鸡"支持asp+,那么您需要以下的条件: Windows 2000

亲密接触ASP.Net(2) ASP+的语法

上一节 ,我们简单介绍了ASP+的配制环境,我们这一节来谈谈ASP+的语法.其实当你装好NGWS后,他所带的文档是最好的学习ASP+的教程,要你E文足够好,以及很好的耐性,学习ASP+不是难事啦.我们这些家伙也是从这里学了很多的,这篇关于ASP+语法的文章,大多数也来自于M$的原文,最可惜的就是我们的服务器不能装上NGWS,有些例子,大家不能看到执行结果,不太好.不过有些地方,我会把执行结果显示出来的.我们开始这一节吧:) 一个ASP+页面的后缀名是".ASPX".它能够包含八种不同的

亲密接触ASP.Net(3) asp+中的控件

最近有朋友问我,哪里可以学好ASP+,我早就说过NGWS中带的文档是最好的学习手册,不过由于NGWS的要求太高,还有它的大小(110M)的问题,有一部分兄弟,不能装上它,我给你们一个站点http://www.aspnextgen.com/quickstart/aspplus/ ,上面的文档就是NGWS直接带的,而且这个站点全是由asp+构建的,大家可以直接看到aspx的执行情况,我现在对我们的站点唯一不满的地方就是不能执行aspx,不能给大家看到例程的执行结果. 好了不说多话了,我们这一节要来看

亲密接触ASP.Net(4) WEB控件

WEB控件按照计划我们这一节要谈Web控件,我想了半天也不知道如何定义这个web控件,它比html控件难于理解,毕竟HTML太像原来我们熟悉的东东了.而web控件确与我们平常见到的有很大的出入,不知道大家还记不记得我说过的一句话,那就是ASP.net的程序就像是写VBVC中的窗口,先再这些窗口中加入我们的需要的控件,然后再对这些控件进行操作.如果你学过一点点VBVC的编程,那么理解这个就不难了,ASP.net中的web控件就像是VBVC中的控件一样.我们先在页面中摆好这些控件,然后再通过Page

亲密接触ASP.Net(5) DataBind数据核心

这一节主要是要讲DataBind,这个在ASP.net中是很重要的东东,几乎所有的控件都需要它来控制数据的操作.也可以说是ASP.net的数据核心. 我们先来看一个简单的例子: <% @ Page Language="C#" %><% @ Import Namespace="System.Data" %><Script Language="C#" Runat="Server">public

亲密接触ASP.Net(6) Namespace(命名空间)的使用

关于Namespace(命名空间)的使用 在前面的程序中我们看到,我常用<% @ Import Namespace="System.Data" %>,这是在引用M$为我们提供的Namespace,这和ASP不同的,我们在ASP.net必须先引用与我们操作有关的Namespace后才能使用相应的功能.其实说白了,一个Namespace; 就是一个组件.这个是关于ASP.net的高级应用,我会在后面的章节讲.(不过要写到那里,时间......) 我下面简单的列举一些常用的Nam