在线用户    站点地图 技术论坛 文档中心 站点导航 资源下载 语言参考 教程专题 站点统计 业务项目 使用帮助
您的位置
MSDN参考新加了CSS2参考,全中文,制作精良。245k下载。           新加了sxf_sxf推荐的"动态网页专家指导" 下载!          新加了lsg2002lsg推荐的"ASP.NET高级编程(PDF)" 下载!          新加了DHTML代码预览!!,功能强大哦!欢迎试用          新加了网友lincong为大家提供的SQL Server 2000 程序员指南,有点大,但同时也就说明内容全咯!           新加了网友ibra为大家提供的北大的JAVA课件,很适合初学者入门           新加了一个java的连接缓冲池代码示例           新加了人月神话电子版下载!软件工程巨著哦~~           更新了评分标准,引入了“专家分”概念,相信可以更好的激励大家的学习!详情请看“使用帮助”           新加了由网友GGG提供的“IIS超级管理手册”,值得一看哦!(虽然我没看过 :P )           新加了“英雄榜”,欢迎测试!           “无组件上传·从原理剖析到实践”已经全部完成,源码全部开放,有兴趣的朋友请到文档中心一探究竟。  您的位置  首页>文档中心>ASP.net>文档A0000853 在同一窗口中打开页面中的链接 在新窗口中打开页面中的链接 将ASPCHINA设为首页 将ASPCHINA加入书签    
 LOGIN HERE
用户:
密码: 忘记密码
记住密码 用户注册 游客进入
相关文章

[原创]DW+ASP.Net实战(二):数据的循环显示

Asp.net 1.1 高级编程 [Professional ASP.NET 1.1]

[下载] Beginning ASP.NET 1.1 (.NET 2003)

用asp.net 上传文件如此简单

asp.net 1.1 安装手册
发表文章
[原创]DW+ASP.Net实战(三):数据增删改

作者:zidone     提交人:zidone     发布时间:04-12-02     文章类型:原创     浏览量:5598
参考链结:http://www.hotide.net/blog/show.php?id=29    
关键字:asp.net | dreamweaver
[本文档没有附件]
字体:    视力保护色: 杏仁黄  秋叶褐  胭脂红  芥末绿  天蓝  雪青  灰  银河白(默认色) [A0000853]

首先说句抱歉了。这两天一直身体不好~~
前两次我们说了数据的链接和数据的循环显示。
今天的任务很简单,就是来说一下 数据的插入、更新和删除。
5。数据的维护
在讲数据的维护以前,我们必须保证上一次的循环数据能够正常显示,才能继续今天的课程。
在这里我们用DataGrid作为使用对象。我们准备给我们的DataGrid1控件加两个列,分别是“修改”,“删除”然后再在DataGrid1控件的上面 添加一个Label控件或者直接写“添加新记录”几个字,然后给“添加新记录”作一个超级链接链接到未来我么要设计的“addNews.aspx”,其他的让我们来实际操作一下:
1。让我们将事先做好的DataGrid1控件作一下改动,在左侧操作栏的“服务器行为”面板上找到“数据网格(DataGrid1)”然后双击,会弹出“数据网格”窗口。
2。在“列”的右侧有“+”和“-”,我们单击“+”,然后在弹出的列表中选择“超级链接”。然后“标题”写上“修改”;“超链接文本”选择“静态文本”,后面写上“修改”;“链接页”选择“数据字段”,里面选择“id”(如果数据表中无id字段,请在数据库数据表中自行修改,添加id字段),“格式字符串”里面填写“editNews.aspx?id={0}”,然后点击确定。
3。我们继续单击对话框中的“+”,然后在弹出的列表中选择“超级链接”。然后“标题”写上“删除”;“超链接文本”选择“静态文本”,后面写上“删除”;“链接页”选择“数据字段”,里面选择“id”,“格式字符串”里面填写“delNews.aspx?id={0}”,然后点击确定。
4。在showNews.aspx页面的任何一个位置加下面的代码:
  <a href="addNews.aspx">添加新记录!</a>

或者:
  <asp:HyperLink ID="addNew" NavigateUrl="addNews.aspx" runat="server" Target="_self" Text="添加新记

录!"></asp:HyperLink>

最后保存文档。完成我们的准备工作~~

A> 数据的插入。
  1。创建“addNews.aspx”页面并保存之。
  2。单击工具栏的J“插入”按钮,选择“应用程序对象”并单击之,在弹出的列表中选择“插入记录”并单击之,再次在弹出的N级列表中选择“插入记录表单向导”并单击之。然后会弹出“插入记录表单”窗口。
  3。“连接”选择“conn”;“表格”选择“news”;“如果成功,则转到”填写我们准备好的“showNews.aspx”;表单字段中将“content”的“显示为”改为“文本区域”;“表单字段”中将“id”的“显示为”改为“隐藏域”,其他保持默认,最后单击“确定”退出。
  4。好了,到目前为止,DW已经自动将添加记录的表单添加到了我们的“addNews.aspx”网页之上。让我们分析一下代码:

系统自动添加程序段1(服务器端)

<MM:Insert
runat="server"
CommandText='<%# "INSERT INTO news (addTime, content, id, title) VALUES (?, ?, ?, ?)" %>'
ConnectionString='<%# System.Configuration.ConfigurationSettings.AppSettings["

MM_CONNECTION_STRING_conn"] %>'
DatabaseType='<%# System.Configuration.ConfigurationSettings.AppSettings["MM_CONNECTION_DATABASETYPE_conn"] %>'
Expression='<%# Request.Form["MM_insert"] == "form1" %>'
CreateDataSet="false"
Debug="true"
>
  <Parameters>
    <Parameter Name="@addTime" Value='<%# ((Request.Form["addTime"] != null) && (Request.Form["addTime"].Length > 0)) ? Request.Form["addTime"] : "" %>' Type="Date" />
    <Parameter Name="@content" Value='<%# ((Request.Form["content"] != null) && (Request.Form["content"].Length > 0)) ? Request.Form["content"] : "" %>' Type="WChar" />
    <Parameter Name="@id" Value='<%# ((Request.Form["theID"] != null) && (Request.Form["theID"].Length > 0)) ? Request.Form["theID"] : "" %>' Type="Integer" />
    <Parameter Name="@title" Value='<%# ((Request.Form["title"] != null) && (Request.Form["title"].Length > 0)) ? Request.Form["title"] : "" %>' Type="WChar" />
  </Parameters>
</MM:Insert>



系统自动添加程序段2(客户端)

<form method="post" name="form1" runat="server">
  <table align="center">
    <tr valign="baseline">
      <td nowrap align="right">AddTime:</td>
      <td><asp:textbox id="addTime" TextMode="SingleLine" Columns="32" runat="server" />
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right" valign="top">Content:</td>
      <td><asp:textbox id="content" TextMode="Multiline" Columns="50" Rows="5" runat="server" />
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Title:</td>
      <td><asp:textbox id="title" TextMode="SingleLine" Columns="32" runat="server" />
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td><input type="submit" value="插入记录"></td>
    </tr>
  </table>
  <input type="hidden" name="theID" value="">
  <input type="hidden" name="MM_insert" value="form1">
</form>



简单说明一下:服务器端的代码就是将数据插入到数据库;客户端的代码就是普通的Form表单,用作提交数据。
废话少说,让我们赶紧测试一下,在浏览器中打开addNews.aspx,然后写入一些数据,点击“插入记录”,怎么样,看看数据是不是已经插入到数据库中了呢,呵呵,很简单吧~~

B> 数据修改

  1。创建“editNews.aspx”页面并保存。
  2。按照我们以前讲的方法创建记录集“DataSet1”(用news表,“筛选项”选择“id”,“=”,“url参数”,“id”)
  3。单击工具栏的“插入”按钮,选择“应用程序对象”并单击之,在弹出的列表中选择“更新记录”并单击之,再次在弹出的N级列表中选择“更新记录表单向导”并单击之。然后会弹出“更新记录表单”窗口。
  4。在“更新记录表单”中的“连接”选择“conn”;表格选择“news”;选取记录自“DataSet1”;“唯一键列”选择“id”;“如果成功,则转到”填写“showNews.aspx”;“表单字段”仅将“content”的“显示为”改为“文本区域”即可;最后单击“确定”退出。
  5。好了,到此为止,保存次文档,在浏览器中测试,打开“showNews.aspx”页面,任意单击一个“修改”会进入“editNews.aspx”页面。然后修改一下,最后点击“更新”看看,记录是不是被更新了,呵呵,是不是操作和“插入记录”如出一辙?好好学吧~~
  下面只是将“更新记录”的服务器端代码列举如下,大家可以参考一下哦~~~
<MM:Update
runat="server"
CommandText='<%# "UPDATE news SET content=?, title=?, addTime=? WHERE id=?" %>'
ConnectionString='<%# System.Configuration.ConfigurationSettings.AppSettings["

MM_CONNECTION_STRING_conn"] %>'
DatabaseType='<%# System.Configuration.ConfigurationSettings.AppSettings["MM_CONNECTION_DATABASETYPE_conn"] %>'
Expression='<%# Request.Form["MM_update"] == "form1" %>'
CreateDataSet="false"
Debug="true"
>
  <Parameters>
    <Parameter Name="@content" Value='<%# ((Request.Form["content"] != null) && (Request.Form["content"].Length > 0)) ? Request.Form["content"] : "" %>' Type="WChar" />
    <Parameter Name="@title" Value='<%# ((Request.Form["title"] != null) && (Request.Form["title"].Length > 0)) ? Request.Form["title"] : "" %>' Type="WChar" />
    <Parameter Name="@addTime" Value='<%# ((Request.Form["addTime"] != null) && (Request.Form["addTime"].Length > 0)) ? Request.Form["addTime"] : "" %>' Type="Date" />
    <Parameter Name="@id" Value='<%# ((Request.Form["theID"] != null) && (Request.Form["theID"].Length > 0)) ? Request.Form["theID"] : "" %>' Type="Integer" />
  </Parameters>
</MM:Update>
<MM:DataSet
id="DataSet1"
runat="Server"
IsStoredProcedure="false"
ConnectionString='<%# System.Configuration.ConfigurationSettings.AppSettings["MM_CONNECTION_STRING_conn"] %>'
DatabaseType='<%# System.Configuration.ConfigurationSettings.AppSettings["MM_CONNECTION_DATABASETYPE_conn"] %>'
CommandText='<%# "SELECT * FROM news WHERE id = ?" %>'
Debug="true"
>



细心的读者,你能不能在上面的代码中找出点什么?呵呵,如果没有那就该加油了 ~~~~
别急别急,我们接着说我们的“删除数据”呵呵,实际上……

C> 数据删除

  1。创建“delNews.aspx”文件并保存。
  2。单击工具栏的“插入”按钮,选择“应用程序对象”并单击之,在弹出的列表中选择“删除记录”并单击之然后会弹出“删除记录”窗口。
  3。在窗口中“首先检查是否已定义变量”选择“URL参数”后面填写“id”;“连接”选择“conn”;表格选择“news”;“主键列”为“id”;主键值选择“URL参数”后面写id;“如果成功则转到”填写“showNews.aspx”;最后单击“确定”。
  4。保存文档,好了删除记录功能就这么实现了,是不是自己没写一行代码?赶紧测试,如果通过,那么祝贺你,你成功了,如果还有问题,那要继续加油拉!
服务器段代码如下:


<MM:Delete
runat="server"
CommandText='<%# "DELETE FROM news WHERE id=?" %>'
ConnectionString='<%# System.Configuration.ConfigurationSettings.AppSettings["MM_CONNECTION_STRING_conn"] %>'
DatabaseType='<%# System.Configuration.ConfigurationSettings.AppSettings["MM_CONNECTION_DATABASETYPE_conn"] %>'
Expression='<%# ((Request.QueryString["id"] != null) && (Request.QueryString["id"].Length > 0)) %>'
CreateDataSet="false"
SuccessURL='<%# "showNews.aspx" %>'
Debug="true"
>
  <Parameters>
    <Parameter Name="@id" Value='<%# ((Request.QueryString["id"] != null) && (Request.QueryString["id"].Length > 0)) ? Request.QueryString["id"] : "" %>' Type="Integer" />
  </Parameters>
</MM:Delete>



好了,这一讲到此为止。其实到这里,作一个网站所需要的功能我们就完了,有了这些基本的功能,大家根据自己的一些经验和不断的去摸索,相信能做出不错的站点。
明天我们将介绍一些DW+ASP.Net编程的一些技巧和经验!后天我们将用一个小型系统来总结我们的所有内容,也算给朋友们一个最终的交代。
好了,今天就到这里,明天见!
zidone.net@sina.com
http://www.hotide.net/blog/
zidone@msn.com

关于这篇文章的评论 [注意:这里仅仅是给大家提供了一个发表对文章本身看法的地方,如果有疑问,请到论坛提出] 我要提问!
lincong        2006/3/28 10:54:00
:)
恩。应该加点原理上去比较好
asp傻瓜        2004/12/2 22:38:00
一点建议
楼主的文章写的满不错的很直观,但是为什么响应的人不多,个人认为应该加入点原理分析,授人以鱼,不如授人以渔,如果从。NET本身的特性出发,再对datagrid,datalist,repeater等ado.net说明下原理就好了
标题
内容
发言
*您尚未以注册用户身份登录,不能发表评论。这里登录
您的位置
  (c)2000-2021 Yup Studio, all rights reserved.  
189.4531