鸿思特论坛官方网站程序员专区asp.net技术 → ASP.NET入门教程系统之数据库篇
发新帖 发新帖
树形|打印|复制链接
标题:ASP.NET入门教程系统之数据库篇
admin
站长勋章 管理员勋章 贡献者勋章 技术精英组勋章 社区功臣勋章
头街:管理员
等级:管理员
经验:2273 点
锦鲤币:3914
金币:0 个
威望:0 点
帖子:246
精华:0 篇
注册:2011-7-26
在线:在线3天15小时58分钟
离下一等级还有:0天2小时2分钟
目前等级2在线3天15小时58分钟
离下一等级还有:0天2小时2分钟
目前等级2
1楼 发表于2011-7-29 20:53:20|只看该作者 |点击这里给我发消息 QQ|查看资料|搜索| 邮箱

网站编程的初学者来说,总是会上网找些源码来看,但久而久之还是停留在改代码的阶段,并不明白怎样去写一个完整的网站程序.有见如此我就开始写这样的文章(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 .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


数据显示篇
[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");
}
}

 

 

引用自:牛头网

实力打造经典,王者绝非偶然,成就鸿思特伟业!
鸿思特论坛为您提供最优质的技术型论坛服务
专业主机空间提供商 联系QQ:506423665
购买论坛商业服务 享受鸿思特的专业贴心服务
客服热线:0898-65872343 地址:海南省海口市琼山区琼州大道下坎东路21号
鸿思特论坛官方网站 版权所有 CopyRight 2008-2018 NiuTou.Net, Inc. All Rights Reserved
Powered by NiuTou.Net 琼ICP备09002741号 E-mail:root@niutou.net

Powered By hst Version hst_2011_base 页面执行时间 0.06055 秒, 2 次数据查询