[虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试]

一、增删改查

cmd.ExecuteReader();执行查询,所有sql语句的查询都用这个方法;

      cmd.ExecuteNonQuery();执行所有sql语句的增删改都用这个方法;

  1       <div>
  2           <table>
  3               <tr>
  4                   <td> 用户名:</td>
  5                   <td>
  6                       <asp:TextBox ID="txtSUserName" runat="server"></asp:TextBox>
  7                   </td>
  8                   <td>班级:</td>
  9                   <td>
 10                       <asp:DropDownList ID="ddlselPhase" runat="server">
 11                           <asp:ListItem>---请选择---</asp:ListItem>
 12                           <asp:ListItem>.NET高级班01期</asp:ListItem>
 13                           <asp:ListItem>.NET高级班02期</asp:ListItem>
 14                           <asp:ListItem>.NET讲师</asp:ListItem>
 15                           <asp:ListItem>.NET网站开发01期</asp:ListItem>
 16                           <asp:ListItem>.NET网站开发02期</asp:ListItem>
 17                           <asp:ListItem>.NET网站开发03期</asp:ListItem>
 18                           <asp:ListItem>.NET网站开发04期</asp:ListItem>
 19                           <asp:ListItem>.NET网站开发05期</asp:ListItem>
 20                           <asp:ListItem>.NET网站开发06期</asp:ListItem>
 21                           <asp:ListItem>.NET网站开发07期</asp:ListItem>
 22                           <asp:ListItem>.NET网站开发08期</asp:ListItem>
 23                           <asp:ListItem>.NET网站开发09期</asp:ListItem>
 24                           <asp:ListItem>.NET网站开发10期</asp:ListItem>
 25                           <asp:ListItem>.NET网站开发11期</asp:ListItem>
 26                           <asp:ListItem>.NET网站开发12期</asp:ListItem>
 27                           <asp:ListItem>.NET网站开发13期</asp:ListItem>
 28                           <asp:ListItem>.NET网站开发14期</asp:ListItem>
 29                           <asp:ListItem>.NET网站开发15期</asp:ListItem>
 30                           <asp:ListItem>.NET网站开发16期</asp:ListItem>
 31                           <asp:ListItem>java第一期</asp:ListItem>
 32                           <asp:ListItem>JAVA讲师</asp:ListItem>
 33                           <asp:ListItem>ps设计01期</asp:ListItem>
 34                           <asp:ListItem>ps设计02期</asp:ListItem>
 35                           <asp:ListItem>ps设计03期</asp:ListItem>
 36                           <asp:ListItem>网页前端01期</asp:ListItem>
 37                       </asp:DropDownList>
 38                   </td>
 39                   <td>
 40                       <asp:Button ID="btnSel" runat="server" Text="查询" OnClick="btnSel_Click" />
 41                   </td>
 42               </tr>
 43           </table>
 44        </div>
 45        <div>
 46             <table>
 47               <tr>
 48                   <td> 用户名:</td>
 49                   <td>
 50                       <asp:TextBox ID="txtAddUserName" runat="server"></asp:TextBox>
 51                   </td>
 52                   <td> 密码:</td>
 53                   <td>
 54                       <asp:TextBox ID="txtAddPwd" runat="server" TextMode="Password"></asp:TextBox>
 55                   </td>
 56                   <td> QQ:</td>
 57                   <td>
 58                       <asp:TextBox ID="txtAddQq" runat="server"></asp:TextBox>
 59                   </td>
 60                   <td>班级:</td>
 61                   <td>
 62                       <asp:DropDownList ID="ddlAddPhase" runat="server">
 63                           <asp:ListItem>---请选择---</asp:ListItem>
 64                           <asp:ListItem>.NET高级班01期</asp:ListItem>
 65                           <asp:ListItem>.NET高级班02期</asp:ListItem>
 66                           <asp:ListItem>.NET讲师</asp:ListItem>
 67                           <asp:ListItem>.NET网站开发01期</asp:ListItem>
 68                           <asp:ListItem>.NET网站开发02期</asp:ListItem>
 69                           <asp:ListItem>.NET网站开发03期</asp:ListItem>
 70                           <asp:ListItem>.NET网站开发04期</asp:ListItem>
 71                           <asp:ListItem>.NET网站开发05期</asp:ListItem>
 72                           <asp:ListItem>.NET网站开发06期</asp:ListItem>
 73                           <asp:ListItem>.NET网站开发07期</asp:ListItem>
 74                           <asp:ListItem>.NET网站开发08期</asp:ListItem>
 75                           <asp:ListItem>.NET网站开发09期</asp:ListItem>
 76                           <asp:ListItem>.NET网站开发10期</asp:ListItem>
 77                           <asp:ListItem>.NET网站开发11期</asp:ListItem>
 78                           <asp:ListItem>.NET网站开发12期</asp:ListItem>
 79                           <asp:ListItem>.NET网站开发13期</asp:ListItem>
 80                           <asp:ListItem>.NET网站开发14期</asp:ListItem>
 81                           <asp:ListItem>.NET网站开发15期</asp:ListItem>
 82                           <asp:ListItem>.NET网站开发16期</asp:ListItem>
 83                           <asp:ListItem>java第一期</asp:ListItem>
 84                           <asp:ListItem>JAVA讲师</asp:ListItem>
 85                           <asp:ListItem>ps设计01期</asp:ListItem>
 86                           <asp:ListItem>ps设计02期</asp:ListItem>
 87                           <asp:ListItem>ps设计03期</asp:ListItem>
 88                           <asp:ListItem>网页前端01期</asp:ListItem>
 89                       </asp:DropDownList>
 90                   </td>
 91                   <td>
 92                       <asp:Button ID="btnAdd" runat="server" Text="添加" OnClick="btnAdd_Click" style="height: 21px" />
 93                   </td>
 94               </tr>
 95           </table>
 96         </div>
 97        <div>
 98             <table>
 99                 <tr>
100                     <td>用户ID:</td>
101                     <td>
102                         <asp:TextBox ID="txtDUId" runat="server"></asp:TextBox>
103                     </td>
104                     <td>
105                         <asp:Button ID="btnD" runat="server" Text="删除" OnClick="btnD_Click" />
106                     </td>
107                 </tr>
108             </table>
109         </div>110        <div>
111            <table>
112                <tr>
113                    <td>ID:</td>
114                    <td>
115                        <asp:TextBox ID="txtUId" runat="server"></asp:TextBox>
116                    </td>
117                    <td>
118                        <asp:TextBox ID="txtUUserName" runat="server"></asp:TextBox>
119                    </td>
120                    <td>
121                        <asp:Button ID="btnU" runat="server" Text="更新" OnClick="btnU_Click" />
122                    </td>
123                </tr>
124            </table>
125        </div>
126        <div>
127         <asp:GridView ID="GriVShow" runat="server" AutoGenerateColumns="False">
128             <Columns>
129                 <asp:BoundField DataField="Userid" HeaderText="用户ID" />
130                 <asp:BoundField DataField="UserName" HeaderText="用户名:" />
131                 <asp:BoundField DataField="phonenum" HeaderText="电话号码" />
132                 <asp:BoundField DataField="sex" HeaderText="性别" />
133                 <asp:BoundField DataField="phase" HeaderText="班级" />
134                 <asp:BoundField DataField="qq" HeaderText="QQ" />
135                 <asp:BoundField DataField="Message" HeaderText="信息" />
136                 <asp:BoundField DataField="HeadPic" HeaderText="头像" />
137                 <asp:BoundField DataField="CreatedTime" HeaderText="创建时间" />
138                 <asp:TemplateField HeaderText="详情">
139                     <ItemTemplate>
140                         <a href="UserInforManagerContext.aspx?Id=<%#Eval("UserId")%>">详情</a>
141                     </ItemTemplate>
142                 </asp:TemplateField>
143             </Columns>
144         </asp:GridView>
145     </div>

  1   public partial class UserInforManager : System.Web.UI.Page
  2     {
  3         string constr = ConfigurationManager.ConnectionStrings["sq_r"].ToString();
  4         SqlConnection con = null;
  5         SqlCommand cmd = null;
  6         SqlDataReader read = null;
  7         protected void Page_Load(object sender, EventArgs e)
  8         {
  9             if (!(IsPostBack))
 10             {
 11                 BindUserInfor();
 12             }
 13         }
 14         /// <summary>
 15         /// 数据绑定
 16         /// </summary>
 17         public void BindUserInfor()
 18         {
 19             try
 20             {
 21                 //string strstring = "select Userid,UserName,phonenum,sex,phase,qq,Message,HeadPic,CreatedTime from UserInfor where 1=1";
 22                 using (con = new SqlConnection(constr))
 23                 {
 24                     con.Open();
 25                     cmd = new SqlCommand(GetSql(), con);
 26                     using (read = cmd.ExecuteReader())
 27                     {
 28                         //开始读以上sql数据,这句话一定要有,如果把它取出来的话是需要读的,但是这地方我只想它把内容赋值给gridview
 29                         //if (read.Read())
 30                         //{
 31                         //}
 32                         //但是这地方我只想它把内容赋值给gridview
 33                         //内容取出来之后,我希望有东西可以接收它的内容
 34                         GriVShow.DataSource = read;
 35                         GriVShow.DataBind();
 36                     }
 37                 }
 38             }
 39             catch (Exception ex)
 40             {
 41                 Response.Write("<script>alret('系统正在维护,请联系管理员!');</script>");
 42             }
 43         }
 44
 45         protected void btnSel_Click(object sender, EventArgs e)
 46         {
 47             BindUserInfor();
 48         }
 49         /// <summary>
 50         /// 获取SQL
 51         /// </summary>
 52         /// <returns></returns>
 53         public string GetSql()
 54         {
 55             //string username = txtSUserName.Text.Trim();
 56             //string phase = ddlselPhase.SelectedValue;
 57             StringBuilder sb = new StringBuilder();
 58             sb.Append("select Userid,UserName,phonenum,sex,phase,qq,Message,HeadPic,CreatedTime from UserInfor where 1=1");
 59             if (!string.IsNullOrEmpty(txtSUserName.Text.Trim()))
 60             {
 61                 sb.Append(string.Format("and UserName='{0}'", txtSUserName.Text.Trim()));
 62             }
 63             if (ddlselPhase.SelectedIndex > 0)
 64             {
 65                 sb.Append(string.Format("and phase='{0}'", ddlselPhase.SelectedValue));
 66             }
 67             return sb.ToString();
 68         }
 69
 70         protected void btnAdd_Click(object sender, EventArgs e)
 71         {
 72             try
 73             {
 74                 string addUserName = txtAddUserName.Text.Trim();
 75                 string addPwd = txtAddPwd.Text.Trim();
 76                 string addqq = txtAddQq.Text.Trim();
 77                 string addPhase = ddlAddPhase.SelectedIndex > 0 ? ddlAddPhase.SelectedValue : "";
 78                 if (!string.IsNullOrEmpty(addUserName))
 79                 {
 80                     using (con = new SqlConnection(constr))
 81                     {
 82                         con.Open();
 83                         string sstring1 = string.Format("insert into UserInfor(UserName,Pwd,QQ,Phase)values('{0}','{1}','{2}','{3}')", addUserName, addPwd, addqq, addPhase);
 84                         cmd = new SqlCommand(sstring1, con);
 85                         if (cmd.ExecuteNonQuery() > 0)
 86                         {
 87                             Response.Write("<script>alert('插入成功!');</script>");
 88                         }
 89                         BindUserInfor();
 90                     }
 91                 }
 92                 else
 93                 {
 94                     Response.Write("<script>alert('请输入内容');</script>");
 95                 }
 96             }
 97             catch (Exception)
 98             {
 99                 Response.Write("网页正在维护!");
100             }
101         }
102
103         protected void btnD_Click(object sender, EventArgs e)
104         {
105             int UserId = txtDUId.Text.Trim() == "" ? 0 : Convert.ToInt32(txtDUId.Text.Trim());
106             try
107             {
108                 using (con = new SqlConnection(constr))
109                 {
110                     con.Open();
111                     string ssql = string.Format("select UserId from UserInfor where UserId='{0}'", UserId);
112                     cmd = new SqlCommand(ssql, con);
113                     read = cmd.ExecuteReader();
114                     if (read.HasRows)
115                     {
116                         read.Dispose();
117                         read.Close();
118                         string sstring1 = string.Format("delete UserInfor where UserId='{0}'", UserId);
119                         cmd = new SqlCommand(sstring1, con);
120                         if (cmd.ExecuteNonQuery() > 0)
121                         {
122                             Response.Write("<script>alert('删除成功!');</script>");
123                         }
124                         BindUserInfor();
125                     }
126                     else
127                     {
128                         Response.Write("该用户不存在!");
129                     }
130                 }
131             }
132             catch (Exception ex)
133             {
134                 Response.Write("<script>alret('系统正在维护,请联系管理员!');</script>");
135             }
136         }
137
138         protected void btnU_Click(object sender, EventArgs e)
139         {
140             int uId = txtUId.Text.Trim()==""?0:Convert.ToInt32(txtUId.Text.Trim());
141             string uUserName = txtUUserName.Text.Trim();
142             try
143             {
144                 using (con = new SqlConnection(constr))
145                 {
146                     con.Open();
147                     string ssql = string.Format("select UserId from UserInfor where UserId='{0}'", uId);
148                     cmd = new SqlCommand(ssql, con);
149                     read = cmd.ExecuteReader();
150                     if (read.HasRows)
151                     {
152                         read.Dispose();
153                         read.Close();
154                         string ssql1 = string.Format("update UserInfor set UserName='{0}' where UserId='{1}'", uUserName, uId);
155                         cmd = new SqlCommand(ssql1, con);
156                         if (cmd.ExecuteNonQuery() > 0)
157                         {
158                             Response.Write("更新成功!");
159                         }
160                         BindUserInfor();
161                     }
162                     else
163                     {
164                         Response.Write("该用户不存在!");
165                     }
166                 }
167             }
168             catch (Exception)
169             {
170                 Response.Write("<script>alret('系统正在维护,请联系管理员!');</script>");
171             }
172         }
173     }

另一种更新的方法,调用cmd的ExecuteScalar()执行查询,记录数,返回0或1,返回是object类型

 1       <div>
 2            <table>
 3                <tr>
 4                    <td>ID:</td>
 5                    <td>
 6                        <asp:TextBox ID="txtUuid" runat="server"></asp:TextBox>
 7                    </td>
 8                    <td>
 9                        <asp:TextBox ID="txtUuserName2" runat="server"></asp:TextBox>
10                    </td>
11                    <td>
12                        <asp:Button ID="btnU2" runat="server" Text="更新" OnClick="btnU2_Click"/>
13                    </td>
14                </tr>
15            </table>
16        </div>

 1      protected void btnU2_Click(object sender, EventArgs e)
 2         {
 3             int Uid2 = txtUuid.Text.Trim() == "" ? 0 : Convert.ToInt32(txtUuid.Text.Trim());
 4             string uusername2 = txtUuserName2.Text.Trim();
 5             try
 6             {
 7                 using (con = new SqlConnection(constr))
 8                 {
 9                     con.Open();
10                     string ssql = string.Format("select count(*) from UserInfor where userid='{0}'", Uid2);
11                     cmd = new SqlCommand(ssql, con);
12                     int icount = Convert.ToInt32(cmd.ExecuteScalar().ToString());
13                     if (icount> 0)
14                     {
15                         string ssql1 = string.Format("update UserInfor set UserName='{0}' where UserId='{1}'", uusername2, Uid2);
16                         cmd = new SqlCommand(ssql1,con);
17                         if (cmd.ExecuteNonQuery() > 0)
18                         {
19                             Response.Write("<script>alert('数据更新成功!');</script>");
20                         }
21                         BindUserInfor();
22                     }
23                     else
24                     {
25                         Response.Write("该用户不存在!");
26                     }
27                 }
28             }
29             catch (Exception)
30             {
31                 Response.Write("<script>alret('系统正在维护,请联系管理员!');</script>");
32             }
33         }

二、Get传值:传一些安全系数低,Id,传类型,比较小的数据

1     <div>
2             <%=GetUserInfor()%>
3     </div>

 1 public partial class UserInforManagerContext : System.Web.UI.Page
 2     {
 3         /// <summary>
 4         ///通过这种方式把ID传了过去 ?<%#Eval("UserId") %>,接收get传值后的id
 5         /// </summary>
 6         /// <param name="sender"></param>
 7         /// <param name="e"></param>
 8
 9         private int _userId;//定义一个字段,只可以访问
10
11         public int UserId
12         {
13             //get,set是属性,既可以访问,又可以写
14             get
15             {
16                 try
17                 {
18                     _userId = Request.QueryString["Id"] == "" ? 0 : Convert.ToInt32(Request.QueryString["Id"].ToString());
19                 }
20                 catch (Exception)
21                 {
22                     _userId = 0;
23                 }
24                 return _userId;
25             }
26             set { _userId = value; }
27         }
28         protected void Page_Load(object sender, EventArgs e)
29         {
30
31         }
32
33         public string GetUserInfor()
34         {
35             StringBuilder sb = new StringBuilder();
36             sb.Append("<table>");
37             try
38             {
39                 if (UserId > 0)
40                 {
41                     string constr = ConfigurationManager.ConnectionStrings["sq_r"].ToString();
42                     using (SqlConnection con = new SqlConnection(constr))
43                     {
44                         con.Open();
45                         string sString = string.Format("select * from UserInfor where UserId='{0}'", UserId);
46                         SqlCommand cmd = new SqlCommand(sString, con);
47                         using (SqlDataReader read = cmd.ExecuteReader())
48                         {
49                             if (read.HasRows)
50                             {
51                                 if (read.Read())
52                                 {
53                                     sb.Append(string.Format("<tr><td>ID:</td><td>{0}</td></tr>", UserId));
54                                     sb.Append(string.Format("<tr><td>用户名:</td><td>{0}</td></tr>", read["userName"].ToString()));
55                                     sb.Append(string.Format("<tr><td>电话号码:</td><td>{0}</td></tr>", read["PhoneNum"].ToString()));
56                                     sb.Append(string.Format("<tr><td>QQ:</td><td>{0}</td></tr>", read["QQ"].ToString()));
57                                     sb.Append(string.Format("<tr><td>信息:</td><td>{0}</td></tr>", read["Message"].ToString()));
58                                 }
59                             }
60                         }
61                     }
62                 }
63                 else
64                 {
65                     sb.Append("<tr><td>未找到相关数据!</td></tr>");
66                 }
67             }
68             catch (Exception)
69             {
70                 Response.Write("网站正在维护,请联系管理员!");
71             }
72             sb.Append("</table>");
73             return sb.ToString();
74         }
75     }

三、批量删除:

3.1全选:

 1 <div>
 2             <table>
 3                 <tr>
 4                     <td>用户ID:</td>
 5                     <td>
 6                         <asp:TextBox ID="txtDUId" runat="server"></asp:TextBox>
 7                     </td>
 8                     <td>
 9                         <asp:Button ID="btnD" runat="server" Text="删除" OnClick="btnD_Click" />
10                     </td>
11                 </tr>
12             </table>
13         </div>
14        <div class="dItem">
15             <asp:Button ID="btnDelAll" runat="server" Text="批量删除" OnClick="btnDelAll_Click" OnClientClick="return confirm('你确定删除吗?');"/>
16         </div>
17        <div>
18         <asp:GridView ID="GriVShow" runat="server" AutoGenerateColumns="False">
19             <Columns>
20                 <asp:TemplateField>
21                     <HeaderTemplate>
22                         <asp:CheckBox ID="chkAll" runat="server" AutoPostBack="True" OnCheckedChanged="chkAll_CheckedChanged" />
23                     </HeaderTemplate>
24                     <ItemTemplate>
25                         <asp:CheckBox ID="chkItem" runat="server" />
26                     </ItemTemplate>
27                 </asp:TemplateField>
28                 <asp:BoundField DataField="Userid" HeaderText="用户ID" />
29                 <asp:BoundField DataField="UserName" HeaderText="用户名:" />
30                 <asp:BoundField DataField="phonenum" HeaderText="电话号码" />
31                 <asp:BoundField DataField="sex" HeaderText="性别" />
32                 <asp:BoundField DataField="phase" HeaderText="班级" />
33                 <asp:BoundField DataField="qq" HeaderText="QQ" />
34                 <asp:BoundField DataField="Message" HeaderText="信息" />
35                 <asp:BoundField DataField="HeadPic" HeaderText="头像" />
36                 <asp:BoundField DataField="CreatedTime" HeaderText="创建时间" />
37                 <asp:TemplateField HeaderText="详情">
38                     <ItemTemplate>
39                         <a href="UserInforManagerContext.aspx?Id=<%#Eval("UserId")%>">详情</a>
40                     </ItemTemplate>
41                 </asp:TemplateField>
42             </Columns>
43         </asp:GridView>
44     </div>

  1     public partial class UserInforManager : System.Web.UI.Page
  2     {
  3         string constr = ConfigurationManager.ConnectionStrings["sq_r"].ToString();
  4         SqlConnection con = null;
  5         SqlCommand cmd = null;
  6         SqlDataReader read = null;
  7         protected void Page_Load(object sender, EventArgs e)
  8         {
  9             if (!(IsPostBack))
 10             {
 11                 BindUserInfor();
 12             }
 13         }
 14         /// <summary>
 15         /// 数据绑定
 16         /// </summary>
 17         public void BindUserInfor()
 18         {
 19             try
 20             {
 21                 //string strstring = "select Userid,UserName,phonenum,sex,phase,qq,Message,HeadPic,CreatedTime from UserInfor where 1=1";
 22                 using (con = new SqlConnection(constr))
 23                 {
 24                     con.Open();
 25                     cmd = new SqlCommand(GetSql(), con);
 26                     using (read = cmd.ExecuteReader())
 27                     {
 28                         //开始读以上sql数据,这句话一定要有,如果把它取出来的话是需要读的,但是这地方我只想它把内容赋值给gridview
 29                         //if (read.Read())
 30                         //{
 31                         //}
 32                         //但是这地方我只想它把内容赋值给gridview
 33                         //内容取出来之后,我希望有东西可以接收它的内容
 34                         GriVShow.DataSource = read;
 35                         GriVShow.DataBind();
 36                     }
 37                 }
 38             }
 39             catch (Exception ex)
 40             {
 41                 Response.Write("<script>alret('系统正在维护,请联系管理员!');</script>");
 42             }
 43         }
 44
 45         protected void btnSel_Click(object sender, EventArgs e)
 46         {
 47             BindUserInfor();
 48         }
 49         /// <summary>
 50         /// 获取SQL
 51         /// </summary>
 52         /// <returns></returns>
 53         public string GetSql()
 54         {
 55             //string username = txtSUserName.Text.Trim();
 56             //string phase = ddlselPhase.SelectedValue;
 57             StringBuilder sb = new StringBuilder();
 58             sb.Append("select Userid,UserName,phonenum,sex,phase,qq,Message,HeadPic,CreatedTime from UserInfor where 1=1");
 59             if (!string.IsNullOrEmpty(txtSUserName.Text.Trim()))
 60             {
 61                 sb.Append(string.Format("and UserName='{0}'", txtSUserName.Text.Trim()));
 62             }
 63             if (ddlselPhase.SelectedIndex > 0)
 64             {
 65                 sb.Append(string.Format("and phase='{0}'", ddlselPhase.SelectedValue));
 66             }
 67             return sb.ToString();
 68         }
 69
 70         protected void btnAdd_Click(object sender, EventArgs e)
 71         {
 72             try
 73             {
 74                 string addUserName = txtAddUserName.Text.Trim();
 75                 string addPwd = txtAddPwd.Text.Trim();
 76                 string addqq = txtAddQq.Text.Trim();
 77                 string addPhase = ddlAddPhase.SelectedIndex > 0 ? ddlAddPhase.SelectedValue : "";
 78                 if (!string.IsNullOrEmpty(addUserName))
 79                 {
 80                     using (con = new SqlConnection(constr))
 81                     {
 82                         con.Open();
 83                         string sstring1 = string.Format("insert into UserInfor(UserName,Pwd,QQ,Phase)values('{0}','{1}','{2}','{3}')", addUserName, addPwd, addqq, addPhase);
 84                         cmd = new SqlCommand(sstring1, con);
 85                         if (cmd.ExecuteNonQuery() > 0)
 86                         {
 87                             Response.Write("<script>alert('插入成功!');</script>");
 88                         }
 89                         BindUserInfor();
 90                     }
 91                 }
 92                 else
 93                 {
 94                     Response.Write("<script>alert('请输入内容');</script>");
 95                 }
 96             }
 97             catch (Exception)
 98             {
 99                 Response.Write("网页正在维护!");
100             }
101         }
102
103         public void Del(int UserId)
104         {
105             try
106             {
107                 using (con = new SqlConnection(constr))
108                 {
109                     con.Open();
110                     string ssql = string.Format("select UserId from UserInfor where UserId='{0}'", UserId);
111                     cmd = new SqlCommand(ssql, con);
112                     read = cmd.ExecuteReader();
113                     if (read.HasRows)
114                     {
115                         read.Dispose();
116                         read.Close();
117                         string sstring1 = string.Format("delete UserInfor where UserId='{0}'", UserId);
118                         cmd = new SqlCommand(sstring1, con);
119                         if (cmd.ExecuteNonQuery() > 0)
120                         {
121                             Response.Write("<script>alert('删除成功!');</script>");
122                         }
123
124                     }
125                     else
126                     {
127                         Response.Write("该用户不存在!");
128                     }
129                 }
130             }
131             catch (Exception ex)
132             {
133                 Response.Write("<script>alret('系统正在维护,请联系管理员!');</script>");
134             }
135         }
136         protected void btnD_Click(object sender, EventArgs e)
137         {
138             int UserId = txtDUId.Text.Trim() == "" ? 0 : Convert.ToInt32(txtDUId.Text.Trim());
139             Del(UserId);
140             BindUserInfor();
141         }
142
143         /// <summary>
144         /// 更新的第一种方法
145         /// </summary>
146         /// <param name="sender"></param>
147         /// <param name="e"></param>
148         protected void btnU_Click(object sender, EventArgs e)
149         {
150             int uId = txtUId.Text.Trim()==""?0:Convert.ToInt32(txtUId.Text.Trim());
151             string uUserName = txtUUserName.Text.Trim();
152             try
153             {
154                 using (con = new SqlConnection(constr))
155                 {
156                     con.Open();
157                     string ssql = string.Format("select UserId from UserInfor where UserId='{0}'", uId);
158                     cmd = new SqlCommand(ssql, con);
159                     read = cmd.ExecuteReader();
160                     if (read.HasRows)
161                     {
162                         read.Dispose();
163                         read.Close();
164                         string ssql1 = string.Format("update UserInfor set UserName='{0}' where UserId='{1}'", uUserName, uId);
165                         cmd = new SqlCommand(ssql1, con);
166                         if (cmd.ExecuteNonQuery() > 0)
167                         {
168                             Response.Write("更新成功!");
169                         }
170                         BindUserInfor();
171                     }
172                     else
173                     {
174                         Response.Write("该用户不存在!");
175                     }
176                 }
177             }
178             catch (Exception)
179             {
180                 Response.Write("<script>alret('系统正在维护,请联系管理员!');</script>");
181             }
182         }
183
184         /// <summary>
185         /// 更新的第二种方法
186         /// </summary>
187         /// <param name="sender"></param>
188         /// <param name="e"></param>
189         protected void btnU2_Click(object sender, EventArgs e)
190         {
191             int Uid2 = txtUuid.Text.Trim() == "" ? 0 : Convert.ToInt32(txtUuid.Text.Trim());
192             string uusername2 = txtUuserName2.Text.Trim();
193             try
194             {
195                 using (con = new SqlConnection(constr))
196                 {
197                     con.Open();
198                     string ssql = string.Format("select count(*) from UserInfor where userid='{0}'", Uid2);
199                     cmd = new SqlCommand(ssql, con);
200                     int icount = Convert.ToInt32(cmd.ExecuteScalar().ToString());
201                     if (icount > 0)
202                     {
203                         string ssql1 = string.Format("update UserInfor set UserName='{0}' where UserId='{1}'", uusername2, Uid2);
204                         cmd = new SqlCommand(ssql1, con);
205                         if (cmd.ExecuteNonQuery() > 0)
206                         {
207                             Response.Write("<script>alert('数据更新成功!');</script>");
208                         }
209                         BindUserInfor();
210                     }
211                     else
212                     {
213                         Response.Write("该用户不存在!");
214                     }
215                 }
216             }
217             catch (Exception)
218             {
219                 Response.Write("<script>alret('系统正在维护,请联系管理员!');</script>");
220             }
221         }
222
223         protected void chkAll_CheckedChanged(object sender, EventArgs e)
224         {
225             //1.当我们点击按钮时,去找chkAll它的事件源的对象把它变成checkBox
226             CheckBox chkAll = sender as CheckBox;
227             //2.对它的每一行进行遍历循环
228             foreach (GridViewRow gvr in GriVShow.Rows)
229             {
230                 //2.1获得到第一行的第一列,找到每一列id等于chkitem的对象把它变成checkbox
231                 CheckBox chkItem = gvr.Cells[0].FindControl("chkItem") as CheckBox;
232                 //2.2让它当前全选的checked属性等于下面每一行的属性,选中就为true,没选就为Fulse
233                 chkItem.Checked = chkAll.Checked;
234             }
235         }
236
237         protected void btnDelAll_Click(object sender, EventArgs e)
238         {
239             //1.对Gridview进行遍历循环
240             foreach (GridViewRow gvr in GriVShow.Rows)
241             {
242                 //2.1获取到每行第二列的值
243                 int UserId = Convert.ToInt32(gvr.Cells[1].Text);
244                 //2.2获取到每一行的第一列就是去找ID等于chkItem的对象把它变成checkbox
245                 CheckBox chkItem=gvr.Cells[0].FindControl("chkItem") as CheckBox;
246                 if(chkItem.Checked)
247                 {
248                     Del(UserId);
249                 }
250             }
251             BindUserInfor();
252         }
253     }

4.GridView-模板绑定下拉列表数据

[首先这地方一定要与数据库要绑定的字段对应],不然像楼主一样走了一个大坑

 1 <asp:TemplateField HeaderText="班级">
 2                     <ItemTemplate>
 3                         <asp:DropDownList ID="ddlgvPhase" runat="server" ToolTip='<%#Eval("phase")%>'>
 4                             <asp:ListItem>---请选择---</asp:ListItem>
 5                             <asp:ListItem>.NET高级班01期</asp:ListItem>
 6                             <asp:ListItem>.NET高级班02期</asp:ListItem>
 7                             <asp:ListItem>.NET讲师</asp:ListItem>
 8                             <asp:ListItem>.NET网站开发01期</asp:ListItem>
 9                             <asp:ListItem>.NET网站开发02期</asp:ListItem>
10                             <asp:ListItem>.NET网站开发03期</asp:ListItem>
11                             <asp:ListItem>.NET网站开发04期</asp:ListItem>
12                             <asp:ListItem>.NET网站开发05期</asp:ListItem>
13                             <asp:ListItem>.NET网站开发06期</asp:ListItem>
14                             <asp:ListItem>.NET网站开发07期</asp:ListItem>
15                             <asp:ListItem>.NET网站开发08期</asp:ListItem>
16                             <asp:ListItem>.NET网站开发09期</asp:ListItem>
17                             <asp:ListItem>.NET网站开发10期</asp:ListItem>
18                             <asp:ListItem>.NET网站开发11期</asp:ListItem>
19                             <asp:ListItem>.NET网站开发12期</asp:ListItem>
20                             <asp:ListItem>.NET网站开发13期</asp:ListItem>
21                             <asp:ListItem>.NET网站开发14期</asp:ListItem>
22                             <asp:ListItem>ps设计01期</asp:ListItem>
23                             <asp:ListItem>ps设计03期</asp:ListItem>
24                             <asp:ListItem>网页前端01期</asp:ListItem>
25                         </asp:DropDownList>
26                     </ItemTemplate>
27                 </asp:TemplateField>

这时候,我们需要调用gridView的RowDataBound事件,当我们打开浏览器,gridView加载从第一行到第二行的逐行加载,加载的时候就执行这个方法,为什么要调用这个方法呢?表示对gridView进行一个遍历

如何找到这个事件呢?GridView的属性-事件里就有,找到双击就好

 1  protected void GriVShow_RowDataBound(object sender, GridViewRowEventArgs e)
 2         {
 3             //判断当前行是不是数据行
 4             //获取到某行输入的数据把它变成UserInfor类型,对象才能调用它的属性方法
 5             //e.Row.DataItem当前行的数据集
 6             //找打当前行的班级
 7             if (e.Row.RowType == DataControlRowType.DataRow)
 8             {
 9                 DropDownList ddlPhase = e.Row.FindControl("ddlgvPhase") as DropDownList;
10                 string phase = ddlPhase.ToolTip;
11                 if (!string.IsNullOrEmpty(phase))
12                 {
13                     //清空列表里所有的项
14                     ddlPhase.ClearSelection();
15                     ddlPhase.Items.FindByValue(phase).Selected = true;
16                 }
17             }
18         }

5.批量更新:

userinfor这个常用的东西,我们直接封装成一个方法,直接调用该方法就好

 1 SqlConnection con = null;
 2         SqlCommand cmd = null;
 3         SqlDataReader read = null;
 4         string constr = ConfigurationManager.ConnectionStrings["sq_r"].ToString();
 5         protected void Page_Load(object sender, EventArgs e)
 6         {
 7             if (!(IsPostBack))//页面第一次加载
 8             {
 9                 BindUserInfor();
10             }
11         }
12
13         public void BindUserInfor()
14         {
15             try
16             {
17                 using (con = new SqlConnection(constr))
18                 {
19                     // where 1=1 order by UserId desc
20                     con.Open();
21                     string sSql = "select  top 100 Userid,UserName,Pwd,phonenum,phase,qq,CreatedTime from UserInfor where 1=1 order by UserId desc";
22                     cmd = new SqlCommand(sSql, con);
23                     using (read = cmd.ExecuteReader())
24                     {
25                         GriVShow.DataSource = read;
26                         GriVShow.DataBind();
27                     }
28                 }
29             }
30             catch (Exception)
31             {
32                 Response.Write("网页正在维护!");
33             }
34         }

前台实例的代码都在这:

 1 <form id="form1" runat="server">
 2        <div class="dItem">
 3            <table>
 4                <tr>
 5                    <td>
 6                        <asp:Button ID="btnDelAll" runat="server" Text="批量删除" OnClick="btnDelAll_Click" OnClientClick="return confirm('你确定删除吗?');"/>
 7                    </td>
 8                    <td>
 9                        <asp:Button ID="btnUpAll" runat="server" Text="批量修改" OnClick="btnUpAll_Click" />
10                    </td>
11                    <td>
12                        <asp:Button ID="btnAddBottom" runat="server" Text="添加" OnClick="btnAddBottom_Click" />
13                    </td>
14                </tr>
15            </table>
16         </div>
17        <div>
18         <asp:GridView ID="GriVShow" runat="server" AutoGenerateColumns="False" OnRowDataBound="GriVShow_RowDataBound">
19             <Columns>
20                 <asp:TemplateField>
21                     <HeaderTemplate>
22                         <asp:CheckBox ID="chkAll" runat="server" AutoPostBack="True" OnCheckedChanged="chkAll_CheckedChanged" />
23                     </HeaderTemplate>
24                     <ItemTemplate>
25                         <asp:CheckBox ID="chkItem" runat="server" />
26                     </ItemTemplate>
27                 </asp:TemplateField>
28                 <asp:BoundField DataField="Userid" HeaderText="ID" />
29                 <asp:BoundField DataField="UserName" HeaderText="用户名:" />
30                 <asp:BoundField DataField="phonenum" HeaderText="电话号码" />
31                 <asp:BoundField DataField="qq" HeaderText="QQ" />
32                 <asp:BoundField DataField="phase" HeaderText="班级" />
33                 <asp:BoundField DataField="CreatedTime" HeaderText="创建时间" />
34                 <asp:TemplateField HeaderText="用户名">
35                     <ItemTemplate>
36                         <asp:TextBox ID="txtgvUserName" runat="server" Text='<%#Eval("UserName")%>'></asp:TextBox>
37                     </ItemTemplate>
38                 </asp:TemplateField>
39                 <asp:TemplateField HeaderText="密码">
40                     <ItemTemplate>
41                         <asp:TextBox ID="txtgvPwd" runat="server" Text='<%#Eval("Pwd")%>'></asp:TextBox>
42                     </ItemTemplate>
43                 </asp:TemplateField>
44                 <asp:TemplateField HeaderText="QQ">
45                     <ItemTemplate>
46                         <asp:TextBox ID="txtgvQq" runat="server" Text='<%#Eval("QQ")%>'></asp:TextBox>
47                     </ItemTemplate>
48                 </asp:TemplateField>
49                 <asp:TemplateField HeaderText="班级">
50                     <ItemTemplate>
51                         <asp:DropDownList ID="ddlgvPhase" runat="server" ToolTip='<%#Eval("phase")%>'>
52                             <asp:ListItem>---请选择---</asp:ListItem>
53                             <asp:ListItem>.NET高级班01期</asp:ListItem>
54                             <asp:ListItem>.NET高级班02期</asp:ListItem>
55                             <asp:ListItem>.NET讲师</asp:ListItem>
56                             <asp:ListItem>.NET网站开发01期</asp:ListItem>
57                             <asp:ListItem>.NET网站开发02期</asp:ListItem>
58                             <asp:ListItem>.NET网站开发03期</asp:ListItem>
59                             <asp:ListItem>.NET网站开发04期</asp:ListItem>
60                             <asp:ListItem>.NET网站开发05期</asp:ListItem>
61                             <asp:ListItem>.NET网站开发06期</asp:ListItem>
62                             <asp:ListItem>.NET网站开发07期</asp:ListItem>
63                             <asp:ListItem>.NET网站开发08期</asp:ListItem>
64                             <asp:ListItem>.NET网站开发09期</asp:ListItem>
65                             <asp:ListItem>.NET网站开发10期</asp:ListItem>
66                             <asp:ListItem>.NET网站开发11期</asp:ListItem>
67                             <asp:ListItem>.NET网站开发12期</asp:ListItem>
68                             <asp:ListItem>.NET网站开发13期</asp:ListItem>
69                             <asp:ListItem>.NET网站开发14期</asp:ListItem>
70                             <asp:ListItem>ps设计01期</asp:ListItem>
71                             <asp:ListItem>ps设计03期</asp:ListItem>
72                             <asp:ListItem>网页前端01期</asp:ListItem>
73                         </asp:DropDownList>
74                     </ItemTemplate>
75                 </asp:TemplateField>
76                 <asp:TemplateField HeaderText="详情">
77                     <ItemTemplate>
78                         <a href="UserInforManagerContext.aspx?Id=<%#Eval("UserId")%>">详情</a>
79                     </ItemTemplate>
80                 </asp:TemplateField>
81             </Columns>
82         </asp:GridView>
83     </div>
84     </form>

封装了一个更新的方法,直接调用该方法即可

 1 public void UpUser(int userId,string username,string pwd,string qq,string phase)
 2         {
 3             try
 4             {
 5                 using (con = new SqlConnection(constr))
 6                 {
 7                     con.Open();
 8                     string ssql= string.Format("update UserInfor set UserName='{0}',Pwd='{1}',QQ='{2}',Phase='{3}' where UserId='{4}'", username, pwd, qq, phase, userId);
 9                     cmd = new SqlCommand(ssql, con);
10                         if (cmd.ExecuteNonQuery() > 0)
11                         {
12                             Response.Write("<script>alert('数据更新成功!');</script>");
13                         }
14                 }
15             }
16             catch (Exception)
17             {
18                 Response.Write("网页正在维护!");
19             }
20
21         }
22         /// <summary>
23         /// 批量更新
24         /// </summary>
25         /// <param name="sender"></param>
26         /// <param name="e"></param>
27         protected void btnUpAll_Click(object sender, EventArgs e)
28         {
29             //遍历gridView
30             foreach (GridViewRow gvr in GriVShow.Rows)
31             {
32                 int UserId = Convert.ToInt32(gvr.Cells[1].Text);
33                 CheckBox chkItem = gvr.Cells[0].FindControl("chkItem") as CheckBox;
34                 if (chkItem.Checked)
35                 {
36                     TextBox txtusername = gvr.Cells[7].FindControl("txtgvUserName") as TextBox;
37                     TextBox txtpwd = gvr.Cells[8].FindControl("txtgvPwd") as TextBox;
38                     TextBox txtqq = gvr.Cells[9].FindControl("txtgvQq") as TextBox;
39                     DropDownList ddlphase = gvr.Cells[10].FindControl("ddlgvPhase") as DropDownList;
40                     UpUser(UserId,txtusername.Text,txtpwd.Text,txtqq.Text,ddlphase.SelectedValue);
41                 }
42             }
43             BindUserInfor();
44         }

5.添加的后台代码:双击添加按钮进入后台事件

 1 protected void btnAdd_Click(object sender, EventArgs e)
 2         {
 3             try
 4             {
 5                 using (con = new SqlConnection(constr))
 6                 {
 7                     con.Open();
 8                     string ssql = string.Format("insert into UserInfor (Phase,CreatedTime) values('{0}','{1}')", "网页前端01期", DateTime.Now.ToString());
 9                     cmd = new SqlCommand(ssql, con);
10                     cmd.ExecuteNonQuery();
11                 }
12                 BindUserInfor();
13             }
14             catch (Exception)
15             {
16                 Response.Write("网页正在维护!");
17             }
18         }

转载于:https://www.cnblogs.com/wangwangwangMax/p/5797778.html

Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新]相关推荐

  1. javaweb简单的登录增删改查系统_利用python操作小程序云数据库实现简单的增删改查!

    不止python,你可以利用任何语言那实现通过http请求来操作你自己的小程序云数据库了 背景 也是在最近吧,小程序更新了云开发 HTTP API 文档,提供了小程序外访问云开发资源的能力,使用 HT ...

  2. javaweb简单的登录增删改查系统_国产化之路统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作...

    引言 经过前期的准备工作,.net core 3.1的运行环境和WEB服务器已经搭建完毕,这里需要注意一下,达梦DM8数据库对于Entity Framework Core 3.1 的驱动在NuGet官 ...

  3. 登录+增删改查+主题+游客浏览

    目录 一.登录 二.新闻管理系统的添加系统 三.新闻发布系统的绑定数据+模糊查询 四.新闻发布系统的删除 五.新闻发布系统的阅读 六.新闻发布系统的修改 七.新闻发布系统的添加主题 八.新闻发布系统的 ...

  4. Android安卓期末大作业 新闻app 实现注册登录增删改查功能

    Android安卓期末大作业 新闻app (文末附下载链接) app情况如下图所示: 点我下载 https://download.csdn.net/download/weixin_43474701/7 ...

  5. linux管理使用打印机(增删改查打印等等)(全)

    linux管理使用打印机 记录: 常用命令: 记录: 参考网站: 1:https://openprinting.github.io/ 下载linux的ppd驱动文件和查看打印机是否被类UNIX系统支持 ...

  6. unity网络实战开发(丛林战争)-前期知识准备(011-c#连接数据库并实现增删改查以及sql注入问题)

    使用工具:VS2015,Mysql 使用语言:c# 作者:Gemini_xujian 参考:siki老师-<丛林战争>视频教程 继上一篇文章内容,这节课讲解一下数据库的前期连接准备以及通过 ...

  7. 【新插件发布】AzureAD运维Excel版插件,增删改查快10倍c以上!

    在笔者的BI项目开发中,用到了Azure的AzureSQL和AzureAS分析服务,此两大服务,可和AzureAD帐号体系打通.而AzureAD帐号,在其免费功能基础功能上,是免费使用的,随着项目开发 ...

  8. element ui 分页增删改查_【新插件发布】AzureAD运维Excel版插件,增删改查快10倍c以上!...

    在笔者的BI项目开发中,用到了Azure的AzureSQL和AzureAS分析服务,此两大服务,可和AzureAD帐号体系打通.而AzureAD帐号,在其免费功能基础功能上,是免费使用的,随着项目开发 ...

  9. datatables增删改查php,jQuery+datatables插件实现Ajax加载数据与增删改查功能示例_白峰_前端开发者...

    本文实例讲述了 这里给大家分享一下我在项目中用datatables实现ajax加载数据与增删改查 注意,需要引入  搜索  新增  编辑  删除 职业姓名性别爱好 //点击查找 $(" ...

  10. python增删改查人名管理_python3字典列表的增删改查(名片管理系统函数版)

    1.列表的增删改查 增加:有三种添加方式(append.insert.extend) #append:把添加的内容直接添加到列表的末尾 a=[1,2,3] a.append('abc') print( ...

最新文章

  1. 使用Docker搭建svn服务器教程
  2. IQKeyboardManager使用方法
  3. Google 选择 Jetty 放弃 Tomcat
  4. Playmaker Input篇教程之Playmaker购买下载和导入
  5. python中是干嘛的-python是做什么的,新手必看哦!
  6. 世界编程大赛一等奖作品(转载)
  7. Laravel 错误处理
  8. python 双向链表_python算法与数据结构-双向链表(40)
  9. Oracle数据库文件恢复与备份思路
  10. matlab矩阵及其基本运算—特征值分解和svd奇异值分解
  11. blog项目中遇到的问题及解决
  12. 无法检查指定的位置是否位于cfs上_打印机知识普及:七大原因导致的打印机无法打印及解决方法...
  13. 关于Python ord()和chr()返回ASCII码和Unicode码的看法
  14. Java静态变量,常量,成员变量,局部变量
  15. 如何把Eclipse改成中文版
  16. Wunderlist1.22(Window版)无法启动的解决方法
  17. 微信公众号自定义服务器,微信公众号自定义服务器的第一次验证
  18. html+圆角梯形,用CSS圆角梯形
  19. 进程间通信(无名管道)
  20. python入门论坛_PythonTab:Python中文开发者社区门户

热门文章

  1. 利用手上无用的云主机实现内网穿透
  2. OSChina 周二乱弹 ——爱酱,老司机前来自首了
  3. DuiVision开发教程(17)-对话框
  4. 广发证券招聘linux运维的要求
  5. 计算半径为5.3的圆的周长和面积
  6. 在线查看office文档
  7. 光棍节促销热火朝天,百度云“0.2超低折”堪称一朵奇葩
  8. STM32基于W5500模块实现通信
  9. go中的堆栈与C++中的堆栈
  10. 2010年圣诞节祝福短信大全