ASP.NET 데이터 시작하기

巴扎黑
풀어 주다: 2017-05-22 23:03:29
원래의
1390명이 탐색했습니다.

웹사이트 프로그래밍 초보자는 항상 온라인에서 소스 코드를 찾아보지만 시간이 지나면서 여전히 코드를 수정하는 단계에 머물러 완전한 웹사이트 프로그램을 작성하는 방법을 이해하지 못합니다. 이것을 보고 이런 글(c#버전)을 쓰기 시작했습니다. 부족한 점을 비판하고 고쳐주세요.

데이터베이스 연결

WEB 프로젝트의 Web.config 구성 파일을 확인하고 구성 라인에 다음 코드를 추가하여 SQL 서버에 연결합니다

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

그림과 같은 데이터 목록 표시 기사:

ASP.NET 데이터 시작하기

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(&#39;您真的要删除这条记录吗?&#39;)){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=&#39;" + ProductId + "&#39;";
        SqlCommand cmd_Exeits = new SqlCommand(sql_Exeits, myconn);
        myconn.Open();
        SqlDataReader rdr = cmd_Exeits.ExecuteReader();
        while (rdr.Read())
        {
            Response.Write("<script language=&#39;JavaScript&#39;>");
            Response.Write("alert(&#39;对不起,该产品编号已经存在!&#39;)");
            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(&#39;" + ProductId + "&#39;,&#39;" + CategoryId + "&#39;,&#39;" + Name + "&#39;,&#39;" + Description + "&#39;,&#39;" + Price + "&#39;)";
        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=&#39;" + CategoryId + "&#39;,Name=&#39;" + Name + "&#39;,Description=&#39;" + Description + "&#39;,Price=&#39;" + Price + "&#39; 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(&#39;保存成功!&#39;)</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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!