• 技术文章 >后端开发 >C#.Net教程

    ASP.NET数据入门

    巴扎黑巴扎黑2017-05-22 23:03:29原创714
    对于网站编程的初学者来说,总是会上网找些源码来看,但久而久之还是停留在改代码的阶段,并不明白怎样去写一个完整的网站程序.有见如此我就开始写这样的文章(c#版),不足之处请批评指正.

    数据库连接篇

    在WEB项目里看到Web.config配置文件,在configuration这行加入下面代码用于和SQL服务器进行连接

    <appSettings>
    <!-- 数据库连接字符串 -->
    <add key="ConnStr" value="Data Source=localhost;database=company;UID=sa;Password=;Persist Security Info=True;" />
    </appSettings>

    数据列表显示篇,如图:

    using System;
    using System.Data;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    //引用命名空间:SQL托管,配置文件
    using System.Data.SqlClient;
    using System.Configuration;
    
    public partial class _Default : System.Web.UI.Page 
    {
        protected SqlConnection myconn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
        //读取web.config配置文件中的数据库连接字符串,并连接到指定的数据库
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)//判断页面是否第一次运行
         {
              string strsql="select * from Product";//定义一个数据库的查询字符串
                    DataSet ds = new DataSet();
                    myconn.Open();//打开数据库连接
                    SqlDataAdapter command = new SqlDataAdapter(strsql,myconn);//表示用于填充DataSet 和更新SQL Server 数据库的一组数据命令和一个数据库连接 
                    command.Fill(ds, "Product");
                    productList.DataSource = ds.Tables[0].DefaultView;
                    productList.DataBind();
                    ds.Clear();
              myconn.Close();//关闭数据库连接
                }
     }
        protected void grid_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            foreach (System.Web.UI.WebControls.HyperLink link in e.Item.Cells[7].Controls)
            {
                link.Attributes.Add("onClick", "if (!window.confirm('您真的要删除这条记录吗?')){return false;}");
            }
        }
    }

    数据添加篇

    protected void btnAdd_Click(object sender, EventArgs e)
        {
            string ProductId = this.txtProductId.Text;
            string CategoryId = this.txtCategoryId.Text;
            string Name = this.txtName.Text;
            string Description = this.txtDescription.Text;
            string Price =this.txtPrice.Text;
            string sql_Exeits = "select * from Product where ProductId='" + ProductId + "'";
            SqlCommand cmd_Exeits = new SqlCommand(sql_Exeits, myconn);
            myconn.Open();
            SqlDataReader rdr = cmd_Exeits.ExecuteReader();
            while (rdr.Read())
            {
                Response.Write("<script language='JavaScript'>");
                Response.Write("alert('对不起,该产品编号已经存在!')");
                Response.Write("</script>");
                this.txtCategoryId.Text = "";
                this.txtDescription.Text = "";
                this.txtName.Text = "";
                this.txtPrice.Text = "";
                this.txtProductId.Text = "";
                return;
            }
            rdr.Close();
    
            string sql_add = "insert into Product(ProductId,CategoryId,Name,Description,Price)values('" + ProductId + "','" + CategoryId + "','" + Name + "','" + Description + "','" + Price + "')";
            SqlCommand cmd_add = new SqlCommand(sql_add, myconn);//SqlCommand:表示要对SQL Server数据库执行的一个Transact-SQL语句或存储过程
            cmd_add.ExecuteNonQuery();//对连接执行Transact-SQL语句并返回受影响的行数。对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1。
            myconn.Dispose();
            myconn.Close();
        }
    [/CODE
    
    [COLOR=Red]数据显示篇[/COLOR]
    [CODE]
    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string id = Request.Params["id"];
                if (id == null || id.Trim() == "")
                {
                    Response.Redirect("default.aspx");
                    Response.End();
                }
                else
                {
                    string sql_show = "select * from Product Where ProductId=" + id;
                    SqlCommand cmd_show = new SqlCommand(sql_show, conn);
                    conn.Open();
                    SqlDataReader rd_show = cmd_show.ExecuteReader();//使用SqlDataReader对象读取并返回一个记录集
                    shows.DataSource = rd_show;//指向数据源
                    shows.DataBind();//绑定数据
                    rd_show.Close();//关闭SqlDataReader
                 }
             }
        }

    数据修改篇

      protected void btnAdd_Click(object sender, EventArgs e)
        {
            string ProductId = this.lblProductId.Text;
            string CategoryId = this.txtCategoryId.Text;
            string Name = this.txtName.Text;
            string Description = this.txtDescription.Text;
            decimal Price = decimal.Parse(this.txtPrice.Text);
            string sql_edit = "update Product set CategoryId='" + CategoryId + "',Name='" + Name + "',Description='" + Description + "',Price='" + Price + "' where ProductId =" + ProductId;
            SqlCommand cmd_edit = new SqlCommand(sql_edit, conn);
            conn.Open();
            cmd_edit.ExecuteNonQuery();
            conn.Close();
            Response.Write("<script language=javascript>window.alert('保存成功!')</script>");
            Response.Redirect("show.aspx?id=" + ProductId);
        }

    数据删除篇

    protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                string ProductId = Request.Params["id"];
                string sql_del = "delete from Product where ProductId=" + ProductId;
                SqlCommand cmd_del = new SqlCommand(sql_del, conn);
                conn.Open();
                cmd_del.ExecuteNonQuery();
                conn.Close();
                Response.Redirect("default.aspx");
            }
        }

    以上就是ASP.NET数据入门的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:ASP.NET,数据
    上一篇:ASP.net中md5加密码的方法 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • c语言中源文件编译后生成什么文件• C#中GDI+编程10个基本技巧二• 应用绝对路径与相对路径• C/C++深度分析• ASP.NET使用Ajax如何返回Json对象的方法具体介绍
    1/1

    PHP中文网