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

蛙蛙推荐: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();
  }
 }
}

 

 

阅读更多

蛙蛙推荐:蛙蛙牌儿IIS备份器

05-18

蛙蛙推荐:蛙蛙牌儿IIS备份器rn把下面所有代码保存成一个.hta文件,然后双击就可以了rnrnrn New Document rn rn rnrnrn备份名称 rnrnrnrnrnrn rn rn 问:这个小软件有什么用?rn 答: 这个小软件用来手工备份和还原IIS配置,如果IIS元数据库严重受损,IIS 将无法启动,这个小软件可以做的小帮手,帮助你在IIS出错的时候选择合适的备份来恢复IIS配置.rn 问:重装机器后如何恢复IIS配置?rn 答: 做虚拟主机的时候如果重装了系统,一般需要手工一个一个的添加网站,网站很多的话,非常费时费力,而象IIS备份精灵,IISExport都需要注册才能无限制使用.其实在Internet 信息服务管理器控制台(也称为 IIS 插件)中所设置的属性和值默认情况都储存在 C:\winnt\system32\inetsrv\metabase.bin (如果是windows 2003+iis6是C:\WINDOWS\system32\inetsrv\MetaBase.xml)文件中。可以简便地使用 xcopy、scopy 或任何其他复制程序来复制这个 文件。但这时最好先停止 Internet 服务(在cmd命令模式下里键入 net stop "IIS Admin Service"来停止Internet服务,net start "IIS Admin Service"来启动IIS服务,或者在服务管理器在界面模式下操作,),以保证元数据库是最新的并且不在使用状态中。 重装系统的时候先停止internet服务,然后覆盖那个目录,IIS配置就恢复了.rn rn rn rn 问:请提供一些关于IIS管理和编程的文章rn rn 答: rn 1.Internet Information Services SDK rn http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/b1073d67-0cfd-42cb-b62b-97e670a4eafb.asp rn 2.Backing Up and Restoring the IIS Metabase rn http://www.windowsitpro.com/Web/Article/ArticleID/9159/Web_9159.htmlrn 3.有关 Internet 信息服务的 5 个热点问题及其解答 rn http://www.microsoft.com/china/technet/community/columns/insider/iisi0602.mspxrn 4.IIS 内幕 rn http://www.microsoft.com/china/technet/community/columns/insider/default.mspxrn 5.Internet Information Services rn http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/cd7a8a8d-dc9d-45be-b5f8-b7d548053b3f.asprn rn rn rnrnrnrn

没有更多推荐了,返回首页