Rumah >pembangunan bahagian belakang >Tutorial C#.Net >ASP.NET数据入门
对于网站编程的初学者来说,总是会上网找些源码来看,但久而久之还是停留在改代码的阶段,并不明白怎样去写一个完整的网站程序.有见如此我就开始写这样的文章(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"); } }
Atas ialah kandungan terperinci ASP.NET数据入门. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!