蛙蛙推荐:asp.net中基础的数据库演练代码

原创 2004年07月08日 12:07:00

蛙蛙推荐:asp.net中基础的数据库演练代码
每种编程语言的数据库操作方法和对数据库操作的能力是不一样的,能熟练掌握asp.net的数据库操作是每个新手所首先要掌握的,本文通过一个简单的例子来给大家展现asp.net下丰富的数据库操作类,本例演示了DataGrid的数据库绑定,排序,分页,还有DataSet,DataView,DataReader等的简单使用,虽然简单,但足以证明asp.net下数据库访问概念的变化,例子中有好多BUG,大家在实际应用的时候要注意一下,比如说在打开数据库的时候用结构化的错误处理语句来捕捉可能的错误,要显式的关闭数据库等等;本文没有写出这些语句式为了让读者的注意力集中在数据库的操作上.代码中没有做过多的注释,是为了让程序显得更加紧凑
还有就是推荐新手不要老靠VS.NET等可视化编程工具来写ASP.NET,要多用一些文本编辑器来做一些常规的C#脚本联系,代码中如果有一些问题,或者你对本文有所什么看法,欢迎和我交流,谢谢
下面是源代码,把两个文件保存到同一个目录,然后通过访问wawa.aspx就可以了,前提是你配置好了sqlser并且安装了示例数据库,另外数据库的连接字符串中用户和密码的地方也可能需要你修改一下:


wawa.aspx


以下是引用片段:
<%@ Page language="c#" src="wawa.aspx.cs" Inherits="wawa.song" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>song</title>
  <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
  <meta name="CODE_LANGUAGE" Content="C#">
  <meta name="vs_defaultClientScript" content="JavaScript">
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
 </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <FONT face="宋体">
    <TABLE id="Table1" style="Z-INDEX: 104; LEFT: 160px; POSITION: absolute; TOP: 56px" cellSpacing="1"
     cellPadding="1" width="300" border="1">
     <TR>
      <TD>
       <asp:Label id="Label2" runat="server" Font-Bold="True">这是个用DataReader和StringBuilder的例子</asp:Label></TD>
     </TR>
     <TR>
      <TD>
       <asp:Literal id="HtmlContent" runat="server"></asp:Literal></TD>
     </TR>
     <TR>
      <TD>
       <asp:Label id="Label1" runat="server" Font-Bold="True">这是个绑定到DataGrid并实现排序的例子</asp:Label></TD>
     </TR>
     <TR>
      <TD>
       <asp:DataGrid id="DataGrid1" runat="server" AllowSorting="True">
        <Columns>
         <asp:BoundColumn></asp:BoundColumn>
        </Columns>
       </asp:DataGrid></TD>
     </TR>
     <TR>
      <TD>
       <asp:Label id="Label3" runat="server">这是个用DataGrid分页的例子</asp:Label></TD>
     </TR>
     <TR>
      <TD>
       <asp:DataGrid id="DataGrid2" runat="server" PageSize="2" AllowPaging="True">
        <PagerStyle NextPageText="下一页" PrevPageText="上一页"></PagerStyle>
       </asp:DataGrid></TD>
     </TR>
    </TABLE>
   </FONT>
  </form>
 </body>
</HTML>
 


wawa.aspx.cs
以下是引用片段:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Text;
namespace wawa
{
 public class song : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.Literal HtmlContent;
  protected System.Web.UI.WebControls.Label Label1;
  protected System.Web.UI.WebControls.Label Label2;
  protected System.Web.UI.WebControls.Label Label3;
  protected System.Web.UI.WebControls.DataGrid DataGrid2;
  protected System.Web.UI.WebControls.DataGrid DataGrid1;
  protected DataView view1=new DataView();
  protected SqlCommand cmd =new SqlCommand();
  private void Page_Load(object sender, System.EventArgs e)
  {
  opendb();
  showreader();
  DataGrid1_Bind();
  DataGrid2_Bind();
  }
  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //覆盖System.Web.UI.Page类的OnInt事件
   InitializeComponent(); //调用InitializeComponent()函数
   base.OnInit(e); //调用父类的Oninit方法初始化本事件
  }
  private void InitializeComponent()
  {   
   //连接一些事件
   this.DataGrid1.SortCommand += new System.Web.UI.WebControls.DataGridSortCommandEventHandler(this.DataGrid1_SortCommand);
   this.DataGrid2.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid2_PageIndexChanged);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  private void opendb(){
   //打开数据库,创建一个SqlDataReader:reader,一个SqlDataAdapter:da,一个DataSet:ds,用da填充ds的Employees表里,
   //并且把Employees表的默认视图赋值给私有视图变量view1
   string connString="server=192.168.0.110;database=Northwind;uid=sa;pwd=sa;";
   string sql=@"SELECT TOP 5 EmployeeID,TitleOfCourtesy+''+FirstName+''+LastName As FullName FROM Employees ORDER BY EmployeeId DESC ";
   SqlConnection conn=new SqlConnection(connString);
   cmd.CommandText=sql;
   cmd.Connection=conn;
   conn.Open();
   SqlDataAdapter da=new SqlDataAdapter(sql,conn);
   DataSet ds=new DataSet();
   da.Fill(ds,"Employees");
   view1=ds.Tables["Employees"].DefaultView;
  }
  private void showreader(){
   //把DataReader捆绑到一个StringBuilder对象上,然后用HtmlContent输出
   //要想使用StringBuilder对象别忘了引用System.Text命名空间,呵呵.
   SqlDataReader reader =cmd.ExecuteReader();
   StringBuilder htmlStr=new StringBuilder("");
   while(reader.Read()){
    htmlStr.Append("<li>");
    htmlStr.Append(reader["EmployeeID"]);
    htmlStr.Append("&nbsp;");
    htmlStr.Append(reader.GetString(1));
    htmlStr.Append("</li>");   
   }
   reader.Close();
   HtmlContent.Text=htmlStr.ToString();
  }
  private void DataGrid1_Bind(){
   //绑定DataGrid1
   DataGrid1.DataSource=view1;
   DataGrid1.DataBind();
  }
  private void DataGrid2_Bind(){
   //绑定DataGrid2
   DataGrid2.DataSource=view1;
   DataGrid2.DataBind();
  }
  private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
  {
   //DataGrid1的排序事件引发的函数
   ViewState["SortExpreesion"]=e.SortExpression;
   if (ViewState["SortExpreesion"]!=null){
   view1.Sort=ViewState["SortExpreesion"].ToString();
   DataGrid1_Bind();
   }
  } 
  private void DataGrid2_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
  //DataGrid2的分页时间引发的函数
  {
   DataGrid2.CurrentPageIndex = e.NewPageIndex;
   DataGrid2_Bind();
  }
 }
}

 

 

Extjs在Asp.Net中的应用开发

-
  • 1970年01月01日 08:00

蛙灵桌面。蛙灵桌面。蛙灵桌面

  • 2009年10月14日 14:37
  • 535KB
  • 下载

管理寓言:蛙鼠殒命

蛙鼠殒命                                           一只老鼠在河边玩耍的时候,遇见了英俊的青蛙。青蛙口若悬河地向老鼠介绍游泳的快乐、漂流的趣味以及沼泽地...
  • citizen2yy
  • citizen2yy
  • 2004-11-09 17:50:00
  • 1731

搜蛙导航(WAP网址站).rar

  • 2010年06月24日 09:10
  • 2.5MB
  • 下载

蛙蛙推荐:怎么使用js脚本理的timer控件

setTimeout是脚本种常用的一个函数,它用来让特定的函数执行之前等待一定的毫秒数,利用它我们可以在首页上的做到定时的无刷新更新数据等众多效果,我做了个小程序来演示这个函数的使用。-->var t...
  • onlytiancai
  • onlytiancai
  • 2004-07-26 14:00:00
  • 1266

蛙蛙推荐:蛙蛙浏览器

蛙蛙推荐:蛙蛙浏览器摘要:google推出了自己的网页浏览器,现在web浏览器的竞争更激烈了,各有各的用户群。其实有另一个领域没有多少竞争,那就是应用程序浏览器,今天给大家演示的蛙蛙浏览器,不仅可以...
  • onlytiancai
  • onlytiancai
  • 2008-09-15 09:38:00
  • 411

蛙蛙推荐:蛙蛙教你文本聚类

蛙蛙推荐:蛙蛙教你文本聚类摘要:文本聚类是搜索引擎和语义web的基本技术,这次本蛙和大家一起学习一下简单的文本聚类算法,可能不能直接用于实际应用中,但对于想学搜索技术的初学者还是有一定入门作用的。这...
  • onlytiancai
  • onlytiancai
  • 2008-05-10 20:40:00
  • 744

蛙蛙推荐:蛙蛙牌firefox插件

上次给大家演示了抓取IE内核浏览器的网页,这次和大家一起写一个抓取firefox页面文本的例子。Firefox有自身的一套结构良好的插件机制,但要深入开发Firefox插件的话要了解javascri...
  • onlytiancai
  • onlytiancai
  • 2008-11-12 00:37:00
  • 916

全国首个OMO模式——美特好旗下全球蛙新零售

转载请注明出自CSDN——全球最大中文IT社区一、OMO模式是什么?中文名:OMO商业模式;外文:Online-Merge-Offline;含义:行业平台型商业模式;作用:最终实现品牌传播与实际交易。...
  • weixin_41609669
  • weixin_41609669
  • 2018-01-17 14:23:33
  • 562

蛙蛙推荐:微软网络讲座系列教程视频下载

 蛙蛙推荐:微软网络讲座系列教程视频下载(2004年1月到2005年4越)好多都是很经典的问题解答和技巧应用,推荐大家有空看看总体浏览地址http://www.microsoft.com/china/...
  • VicAnt
  • VicAnt
  • 2005-06-24 14:51:00
  • 1041
收藏助手
不良信息举报
您举报文章:蛙蛙推荐:asp.net中基础的数据库演练代码
举报原因:
原因补充:

(最多只允许输入30个字)