1 using System; 2 using System.Collections.Generic; 3 using System.Configuration; 4 using System.Data; 5 using System.Data.SqlClient; 6 using System.Linq; 7 using System.Web; 8 using System.Web.UI; 9 using System.Web.UI.WebControls; 10 11 public partial class _Default : System.Web.UI.Page 12 { 13 private string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; 14 15 SqlHelper helper = new SqlHelper(); 16 protected void Page_Load(object sender, EventArgs e) 17 { 18 if (!Page.IsPostBack) 19 { 20 using (SqlConnection conn = new SqlConnection(constr)) 21 { 22 23 SqlDataAdapter ad = new SqlDataAdapter("select * from tbuser", conn); 24 SqlCommandBuilder builder = new SqlCommandBuilder(ad); 25 DataTable dt = new DataTable(); 26 ad.Fill(dt); 27 this.GridView1.DataSource = dt; 28 this.DataBind(); 29 } 30 } 31 } 32 33 private void userlistbind() 34 { 35 GridView1.DataSource = helper.SelectSqlReturnDataset("select id, username as '用戶名',birthday as '生日', '部門號'=(select departmentname from tbdepartment where tbdepartment.departmentid=tbUser.departmentid) from tbUser").Tables[0]; 36 } 37 protected void btnAdd_Click(object sender, EventArgs e) 38 { 39 40 string sql = "insert into tbUser(username,birthday,departmentid) values('" + txtUserName.Text + "','" + txtBirthday.Text + "'," + ddlDepartment.SelectedValue.ToString() + ")"; 41 int count = helper.ExecuteReturnInt(sql, null, System.Data.CommandType.Text); 42 if (count != 0) 43 { 44 userlistbind(); 45 Response.Write("<script>alert('數據添加成功!')</script>"); 46 txtBirthday.Text = ""; 47 txtUserName.Text = ""; 48 49 GridView1.DataBind(); 50 } 51 } 52 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 53 { 54 55 56 57 } 58 protected void bind() 59 { 60 SqlConnection myconn = new SqlConnection(constr); 61 myconn.Open(); 62 string sql = "select id,username 用戶名,birthday 生日,departmentid 部門號 from tbUser"; 63 SqlDataAdapter myda = new SqlDataAdapter(sql, myconn); 64 DataSet myds = new DataSet(); 65 myda.Fill(myds); 66 GridView1.DataSource = myds; 67 GridView1.DataKeyNames = new string[] { "id" }; 68 GridView1.DataBind(); 69 myda.Dispose(); 70 myds.Dispose(); 71 myconn.Close(); 72 } 73 74 75 76 77 protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) 78 { 79 GridView1.EditIndex = e.NewEditIndex; 80 this.bind(); 81 } 82 protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) 83 { 84 85 int id = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString()); 86 string name = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString(); 87 string birthday = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString(); 88 string department = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString(); 89 string sql = "update tbUser set username='" + name + "',birthday='"+birthday+"',departmentid="+department+" where id=" + id + ""; 90 SqlConnection myconn = new SqlConnection(constr); 91 myconn.Open(); 92 SqlCommand mycmd = new SqlCommand(sql, myconn); 93 mycmd.ExecuteNonQuery(); 94 mycmd.Dispose(); 95 myconn.Close(); 96 GridView1.EditIndex = -1; 97 this.bind(); 98 } 99 protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) 100 { 101 GridView1.EditIndex = -1; 102 this.bind(); 103 } 104 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) 105 { 106 int id = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString()); 107 string sql = "delete from tbUser where id=" + id + ""; 108 SqlConnection myconn = new SqlConnection(constr); 109 myconn.Open(); 110 SqlCommand mycmd = new SqlCommand(sql, myconn); 111 mycmd.ExecuteNonQuery(); 112 mycmd.Dispose(); 113 myconn.Close(); 114 GridView1.EditIndex = -1; 115 this.bind(); 116 } 117 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 118 { 119 120 if (e.Row.RowType == DataControlRowType.DataRow) 121 { 122 ((LinkButton)e.Row.Cells[0].Controls[0]).Attributes.Add("onclick", "return confirm('確定要刪除嗎')"); 123 } 124 } 125 }
web.config
<configuration>
<connectionStrings>
<add name="constr" connectionString="server=.\sqlexpress;database=db2016;uid=sa;pwd=123;" />
<add name="db2016ConnectionString" connectionString="Data Source=.\sqlexpress;Initial Catalog=db2016;Persist Security Info=True;User ID=sa;Password=123"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>
GridView的datakeyname屬性 設為id
數據庫表
create table tbUser
(
id int primary key identity(1,1),
username nvarchar(20),
userpass varbinary(128),
birthday datetime,
departmentid int foreign key references tbdepartment(departmentid)
)