上“修改新闻类别”按钮,进行点击事件调用代码的编写 双击以上“修改新闻类别”按钮, (inserttest.aspx.cs 中) using using using using using System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; DAL;/* 倒入 DAL 项目*/
public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { GridView1.DataSource = new CategoryDAO().SelectAll();//调用方 法,获取数据源 GridView1.DataBind();//将数据源绑定到 GridView1 控件 /* Response.Write(new SQLHelper().test()); 隐式创建类 (SQLHelper)并对象调用方法:test()*/ } protected void Button1_Click(object sender, EventArgs e) { string caName = TextBox1.Text; string id = TextBox2.Text; bool b = new CategoryDAO().Update(id,caName); Response.Write(b); GridView1.DataSource = new CategoryDAO().SelectAll();//调用方 法,获取数据源
GridView1.DataBind();//将数据源绑定到 GridView1 控件 } } 小小分析: (1) string caName = TextBox1.Text; string id = TextBox2.Text;将界面数据赋值给相应的变量 (2) bool b = new CategoryDAO().Update(id,caName);将变量数据作为参数 传入 Update()方法中 (3)绑定数据源 运行看看: 条记录的“
经济新闻”改成“广西新闻” 运行看看:想把第 4 条记录的“经济新闻”改成“广西新闻”
单击“修改新闻 单击“修改新闻”类别按钮
以上方法的弊端是:我们的数据表中只有两个字段,但如果字段是几十个,就得 在方法 Update()中写入几十个的参数变量,是不是有点深长呢?正好以下将要 介绍的方法二可以很好的解决这个弊端。
方法二:创建一个对象,对象名就是表名,对象的属性就是表中的名个字段, 方法二:创建一个对象,对象名就是表名,对象的属性就是表中的名个字段, 这就用到前面介绍的“制作生成实体类” 这就用到前面介绍的“制作生成实体类” 第一步:创建一个类库(即 Model 类库) (1)
(2)创建 category 对象(用实体类生成器来创建
)
点击“生成实体类”按钮
保存即可, 然后在解决
方案资源管理中刷新并点击显示所有项就可以见到创建的 category 对象,请选择该对象,鼠标右键选择“包含到项目中”
双击“category.cs”见到如下图:
由上图知道,所谓的命名空间实际上就是一个类库,现在在类库 Model 中放了一 个类(即 category.cs),现在我们往类 category.cs 中加入一个构造函数,这 样当我们为这个类创建实例时,
系统就会自动对其进行初始化(把从界面输入的 id 和 name 数据赋值给这个类的属性 id 和 name)category.cs 源码如下: /* *作者:无声胜有声 * 创建时间:2009-9-28 18:31:02 */ namespace Model { public class category { private string id;
public string Id { get { return id; } set { id = value; } } private string name; public string Name { get { return name; } set { name = value; } } public category(string id, string name) { this.id = id; this.name = name; } } } 把 Model 倒入到 DAL 层中(using Model;):
添加引用一下:
修改一下代码:
修改代码至此已完成,接下来再修改一下调用代码: (值得注意的是凡有引用的 地方都应添加 Model 的引用)之外还得在 insertest.aspx.cs 中 using Model; 将每一层都重新生成一下:
运行看看:
修改数据表记录数据到此算暂时完成了。 源码: inserttest.aspx.cs 源码: using System; using System.Data; using System.Configuration; 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; using DAL;/*