开发工具SQL server2008/vs2010.
采用三层框架(BLL/DAL/UI).
首先在SQL server2008中创建名为UserInfo的数据库,表名为tb_user包含字段UserID(主键/自动标识符为1)/UserName/Sex/Birthday/Address/Phone/Remark.
在VS2010中新建项目LinQU,在项目中分别添加类库BLL/DAL/Model与网站Web.
在Model类库中添加名为DataUser的LinQ to SQL类,点开服务器资源管理器连接到本地数据库,把表拖拽到DataUser中.
在DAL中添加Duser类,添加Model类库、System.Data.Linq的引用,然后代码如下:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using Model;
namespace DAL{ public class DUser {
//引用Model中创建的LinQ to SQL 类 DataUserDataContext db = new DataUserDataContext();
//查询用户表信息
public IQueryable SelectUser() { var user = from u in db.tb_user select u; return user; }
//添加用户信息
public void InserUser(tb_user tbuser) { tb_user user = new tb_user(); user.Address = tbuser.Address; user.Birthday = tbuser.Birthday; user.Phone = tbuser.Phone; user.Remark = tbuser.Remark; user.Sex= tbuser.Sex; user.UserName = tbuser.UserName; db.tb_user.InsertOnSubmit(user); db.SubmitChanges(); }
//修改用户信息
public void UpdateUser(tb_user tbuser) { tb_user user = db.tb_user.Single(u=>u.UserID==tbuser.UserID); user.Address = tbuser.Address; user.Birthday = tbuser.Birthday; user.Phone = tbuser.Phone; user.Remark = tbuser.Remark; user.Sex = tbuser.Sex; user.UserName = tbuser.UserName; db.SubmitChanges(); }
//删除用户信息
public void DeleteUser(tb_user tbuser) { tb_user user = db.tb_user.Single(u=>u.UserID==tbuser.UserID); db.tb_user.DeleteOnSubmit(user); db.SubmitChanges(); }
}}
在BLL中添加BUser类,添加Model/DAL类库的引用,然后代码如下:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using DAL;using Model;
namespace BLL{ public class BUser {
//实例化DUser类 static DUser duser = new DUser();
//查询用户表信息 public static IQueryable SelectUser() { return duser.SelectUser(); }
//添加用户信息 public static void InserUser(tb_user user) { duser.InserUser(user); }
//修改用户信息
public static void UpdateUser(tb_user user) { duser.UpdateUser(user); }
//删除用户信息
public static void DeleteUser(tb_user user) { duser.DeleteUser(user); } }}
在网站Web中,添加对BLL/Model类库的引用,新建名为UserInfo的窗体:
在<head>标签中添加代码如下:
<head runat="server"> <title></title> <script language="javascript" type="text/javascript" src="Scripts/jquery-1.4.1.min.js">
//VS2010中自带的Scripts/jquery-1.4.1.min.js
</script>
<script language="javascript" type="text/javascript" >
//无刷新绑定函数 function Bind() { $.ajax({ type: "GET", url: "UserInfo.aspx", datatype: "html", data: "type=Bind&" + Math.random(), success: function (msg) { $("#queryResult").html(msg); } }); }
//添加用户信息
function Insert() { $.ajax({ type: "GET", url: "UserInfo.aspx", datatype: "html", data: "&UserName=" + escape($("#txtusername").val()) + "&Sex=" + escape($("#txtsex").val()) + "&Address=" + escape($("#txtaddress").val()) + "&Brithday=" + $("#txtbrithday").val() + "&Phone=" + escape($("#txtphone").val()) + "&Remark=" + escape($("#txtremark").val()) + "&type=Insert&" + Math.random(), success: function (msg) { if (msg == "添加成功") { alert("添加成功!"); Bind(); } else { alert(msg); } } }); }
//删除用户
function Delete() { $.ajax({ type: "GET", url: "UserInfo.aspx", datatype: "html", data: "UserID=" + $("#txtuserid").val() + "&type=Delete&" + Math.random(), success: function (msg) { if (msg == "删除成功") { alert("删除成功!"); Bind(); } else { alert(msg); } } });
}
//修改用户
function Update() { $.ajax({ type: "GET", url: "UserInfo.aspx", datatype: "html", data: "UserID=" + $("#txtuserid").val() + "&UserName=" + escape($("#txtusername").val()) + "&Sex=" + escape($("#txtsex").val()) + "&Address=" + escape($("#txtaddress").val()) + "&Brithday=" + $("#txtbrithday").val() + "&Phone=" + escape($("#txtphone").val()) + "&Remark=" + escape($("#txtremark").val()) + "&type=Update&" + Math.random(), success: function (msg) { if (msg == "修改成功") { alert("修改成功!"); Bind(); } else { alert(msg); } } }) }
</script> </head>
在<form>标签中代码如下:
<form id="form1" runat="server">
<table width="100%"> <tr><td colspan="4"><div id="queryResult"> <asp:GridView ID="GridUser" runat="server" AutoGenerateColumns="False" DataKeyNames="UserID" Height="142px" Width="658px"> <Columns> <asp:BoundField DataField="UserID" HeaderText="用户编号" /> <asp:BoundField DataField="UserName" HeaderText="用户名" /> <asp:BoundField DataField="Sex" HeaderText="性别"/> <asp:BoundField DataField="Birthday" HeaderText="出生日期" /> <asp:BoundField DataField="Address" HeaderText="地址" /> <asp:BoundField DataField="Phone" HeaderText="电话" /> <asp:BoundField DataField="Remark" HeaderText="备注" /> </Columns> </asp:GridView> </div></td></tr> <tr><td>用户编号:</td><td> <input id="txtuserid" type="text" /></td><td>用 户 名:</td><td> <input id="txtusername" type="text" οnblur="check()" /><asp:Label ID="Label1" runat="server" ForeColor="Red"></asp:Label> </td></tr> <tr><td>性 别:</td><td> <input id="txtsex" type="text" /></td><td>出生日期:</td><td> <input id="txtbrithday" type="text" /></td></tr> <tr><td>地 址:</td><td> <input id="txtaddress" type="text" /></td><td>电 话:</td><td> <input id="txtphone" type="text" /></td></tr> <tr><td>备 注:</td><td colspan="3"> <textarea rows="" cols="" id="txtremark" name="S1"></textarea></td></tr> <tr><td></td><td> <input id="btnAdd" type="button" value="添加" οnclick="Insert()"/> <input id="btnUpdate" type="button" value="修改" οnclick="Update()" /> <input id="btnDelete" type="button" value="删除" οnclick="if(confirm('是否删除'))Delete()"/> </td><td></td><td> </td></tr> </table> </form>
后台代码如下:
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using BLL;using System.IO;using Model;
public partial class UserInfo : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["type"] == "Bind") { Bind(); } if (!IsPostBack) { GridUser.DataSource = BUser.SelectUser(); GridUser.DataBind(); }
if (Request.QueryString["type"] == "Insert") { string str = Insert(); Response.Write(str); Response.End(); } if (Request.QueryString["type"] == "Delete") { string str= Delete(); Response.Write(str); Response.End(); } if (Request.QueryString["type"] == "Update") { string str = Update(); Response.Write(str); Response.End(); }
}
//修改用户信息
private string Update() { try { tb_user user = new tb_user(); user.UserID = Convert.ToInt32(Request.QueryString["UserID"]); user.UserName = Request.QueryString["UserName"]; user.Sex = Request.QueryString["Sex"]; user.Remark = Request.QueryString["Remark"]; user.Phone = Request.QueryString["Phone"]; user.Birthday = Convert.ToDateTime(Request.QueryString["Brithday"].ToString()); user.Address = Request.QueryString["Address"]; BUser.UpdateUser(user); return "修改成功";
} catch(Exception ex) { return ex.Message; } }
//删除用户
private string Delete() { try { tb_user user = new tb_user(); user.UserID =Convert.ToInt32(Request.QueryString["UserID"].ToString()); BUser.DeleteUser(user); return "删除成功"; } catch (Exception ex) { return ex.Message; } }
//添加用户信息 private string Insert() { try { tb_user user = new tb_user(); user.UserName = Request.QueryString["UserName"]; user.Sex = Request.QueryString["Sex"]; user.Remark = Request.QueryString["Remark"]; user.Phone = Request.QueryString["Phone"]; user.Birthday = Convert.ToDateTime(Request.QueryString["Brithday"].ToString()); user.Address = Request.QueryString["Address"]; BUser.InserUser(user); return "添加成功";
} catch (Exception ex) { return ex.Message; } }
//无刷新绑定 private void Bind() { GridUser.DataSource = BUser.SelectUser(); GridUser.DataBind();
StringWriter tw = new StringWriter(); Html32TextWriter writer = new Html32TextWriter(tw); GridUser.RenderControl(writer); writer.Close(); Response.Write(tw.ToString()); Response.End();
}
//重绘服务器控件一定一定要重写这个方法 public override void VerifyRenderingInServerForm(Control control) { //base.VerifyRenderingInServerForm(control); }}