1.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Home.aspx.cs" Inherits="_20160520.Home" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<link href="css/gv.css" rel="stylesheet" />
</head>
<body>
<form id="form1" runat="server">
<div class="gv">
<table>
<tr>
<td>用户名:</td>
<td>
<asp:TextBox ID="TxtUserName" runat="server" Width="132px"></asp:TextBox>
</td>
<td>班级:</td>
<td>
<asp:DropDownList ID="ddlsclass" runat="server">
<asp:ListItem>---请选择---</asp:ListItem>
<asp:ListItem>微软一班</asp:ListItem>
<asp:ListItem>微软二班</asp:ListItem>
<asp:ListItem>微软三班</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:Button ID="btnsel" runat="server" Text="查询" OnClick="btnsel_Click" />
</td>
</tr>
</table>
<table>
<tr>
<td>用户名:</td>
<td>
<asp:TextBox ID="TxtUsersName" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>密码:</td>
<td>
<asp:TextBox ID="TxtPwd" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>姓名:</td>
<td>
<asp:TextBox ID="Txtloginname" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>QQ:</td>
<td>
<asp:TextBox ID="Txtqq" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>班级:</td>
<td>
<asp:DropDownList ID="ddlclass" runat="server">
<asp:ListItem>---请选择---</asp:ListItem>
<asp:ListItem>微软一班</asp:ListItem>
<asp:ListItem>微软二班</asp:ListItem>
<asp:ListItem>微软三班</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td colspan="" style="text-align: right">
<asp:Button ID="BtnAdd" runat="server" Text="添加" OnClick="BtnAdd_Click"/>
</td>
</tr>
</table>
<table>
<tr>
<td>ID:</td>
<td>
<asp:TextBox ID="TxtDuserid" runat="server"></asp:TextBox>
</td>
<td>
<asp:Button ID="BtnDel" runat="server" Text="删除" OnClick="BtnDel_Click" />
</td>
</tr>
</table>
<table>
<tr>
<td> ID</td>
<td>
<asp:TextBox ID="TxtuUserId" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td> 用户名:</td>
<td>
<asp:TextBox ID="TxtuUserName" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="" style="text-align: right">
<asp:Button ID="BtnUpdate" runat="server" Text="更新" OnClick="Button1_Click" />
</td>
</tr>
</table>
<asp:GridView ID="IdGridView" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="id" HeaderText="ID" />
<asp:BoundField DataField="username" HeaderText="用户名" />
<asp:BoundField DataField="PWD" HeaderText="密码" />
<asp:BoundField DataField="loginname" HeaderText="姓名" />
<asp:BoundField DataField="qq" HeaderText="QQ" />
<asp:BoundField DataField="classname" HeaderText="班级" />
<asp:TemplateField HeaderText="详情">
<ItemTemplate>
<a href="UserInfo.aspx?id=<%#Eval("ID") %>" target="_blank">详情</a>
<%--<a href='UserInfo.aspx?userid=<%#Eval("UserId") %>' target="_blank">详情</a
<%-- <a href="one.aspx?">详情</a>--%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView> </div>
</form>
</body>
</html>

2.跳转的另一个页面

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Text; namespace _20160520
{
public partial class Home : System.Web.UI.Page
{
//假如页面多,每个页面都要写一个连接字符串,所以我们一般放在配置文件中
//string strstring = "server=.; Database=MyBookShop;Integrated Security=false;Uid=sa;Pwd=123456";
// string connStr = "Database=Student;Server=.;Integrated Security=false;Uid=sa;Password=123;"; //通过这个类ConfigurationManager获取web.confiig里面的节点名称来获取连接的字符串
private string conStr = ConfigurationManager.ConnectionStrings["mySchool"].ToString();
//把这个字符串传进去
//SqlConnection con = new SqlConnection(conStr);
SqlConnection con = null;//相当于是电话
SqlCommand cmd = null;//执行sql语句
SqlDataReader dr = null;//用于储存查询结果 private void openDB()
{
con = new SqlConnection(conStr);
con.Open();//和数据库建立起了连接
//我们单独把这两句话封装起来直接调用就好
}
//页面一运行就执行这里面的内容
protected void Page_Load(object sender, EventArgs e)
{
BindUser();
}
public void BindUser()
{
try
{
openDB();
//得到sql语句
//string sql = "select loginid,name,loginpwd,address,ClassName,mail from Users";
string sql = Getswhere();
//执行sql语句
using (cmd = new SqlCommand(sql, con))
//对象有了,我们要通过对象去执行sql语句
{
using (dr = cmd.ExecuteReader())
{
IdGridView.DataSource = dr;
IdGridView.DataBind();
}
//dr.Dispose();//释放资源
//dr.Close();//关闭连接
//con.Dispose();
//con.Close();
}
}
catch
{
Response.Write("网站正在维护中.......!");
}
}
protected void btnsel_Click(object sender, EventArgs e)
{ }
//我们需要得到where后面
public string Getswhere()
{
StringBuilder sb = new StringBuilder();
sb.Append("select ID,username,PWD,loginname,qq,classname from Users where 1=1");
//获取到它的用户名
string username = TxtUserName.Text.Trim();
if (!string.IsNullOrEmpty(username))
{
sb.Append(string.Format("and username='{0}'", username));
}
if(ddlsclass.SelectedIndex>)
{
sb.Append(string.Format("and ClassName='{0}'", ddlsclass.SelectedValue));
}
return sb.ToString();
} //添加
protected void BtnAdd_Click(object sender, EventArgs e)
{
try
{
//要获取到文本框里面的内容
string username = TxtUsersName.Text.Trim();
string pwd = TxtPwd.Text.Trim();
string loginname = Txtloginname.Text.Trim();
string qq = Txtqq.Text.Trim();
//ddlclass.SelectedIndex > 0 ? ddlclass.SelectedValue "" : ;判断它是否被选中,如果选中>0,就等于选中的内容,如果没有被选中的话,就为空
string classname = ddlclass.SelectedIndex > ? ddlclass.SelectedValue: "";
//写sql语句
string sql = string.Format("insert Users (username,PWD,loginname,qq,classname) values ('{0}','{1}','{2}','{3}','{4}')", username, pwd, loginname, qq, classname);
//sql语句有了之后怎么做添加呢?
//第一步和数据库建立起连接
openDB();
//连接建立起来之后,我们创建一个sqlcommand对象
using (cmd = new SqlCommand(sql, con))
{
//这时候我们怎么通过对象去执行它的插入呢?ExecuteNonQuery执行增删改查语句,返回的是int类型
cmd.ExecuteNonQuery();
}
//直接绑定
BindUser();
}
catch
{
Response.Write("网站正在维护中.......!");
}
} //删除
protected void BtnDel_Click(object sender, EventArgs e)
{
int userid = ;//userid默认等于0
//有可能输入的不是整数,不是整数的话,输入之后它有可能发生异常
try
{
//TxtDuserid.Text.Trim()==""?,如果它的内容等于空的话,我们就让它等于0(?0),不为空的话,我们就Convert(将一个数据类型转为另一个基本数据类型)一下
userid = TxtDuserid.Text.Trim() == "" ? : Convert.ToInt32(TxtDuserid.Text.Trim());
}
catch
{
userid = ;
}
//id就得到了,判断数据库里面有没有
string s1 = string.Format("select ID from users where ID={0}", userid);
//和数据库建立起连接
openDB();
using (cmd = new SqlCommand(s1, con))
{
dr = cmd.ExecuteReader();
//查询有没有数据
if (dr.HasRows)
{
//如果有,就执行删除语句,得到一个s2
string s2 = string.Format("delete Users where ID={0}",userid);
dr.Dispose();
dr.Close();
using(cmd = new SqlCommand(s2, con))
{
cmd.ExecuteNonQuery();
}
}
else
{
//没有就
Response.Write("该用户ID不存在!");
}
}
BindUser();
} //更新
protected void Button1_Click(object sender, EventArgs e)
{
int userid = ;//userid默认等于0
//有可能输入的不是整数,不是整数的话,输入之后它有可能发生异常
try
{
//TxtDuserid.Text.Trim()==""?,如果它的内容等于空的话,我们就让它等于0(?0),不为空的话,我们就Convert(将一个数据类型转为另一个基本数据类型)一下
userid = TxtuUserId.Text.Trim() == "" ? : Convert.ToInt32(TxtuUserId.Text.Trim());
}
catch
{
userid = ;
}
//id就得到了,判断数据库里面有没有
string s1 = string.Format("select ID from users where ID={0}", userid);
//和数据库建立起连接
openDB();
using (cmd = new SqlCommand(s1, con))
{
dr = cmd.ExecuteReader();
//查询有没有数据
if (dr.HasRows)
{
//如果有,就执行删除语句,得到一个s2
string s2 = string.Format("update Users set username='{0}' where ID={1}", TxtuUserName.Text.Trim(),userid);
dr.Dispose();
dr.Close();
using (cmd = new SqlCommand(s2, con))
{
cmd.ExecuteNonQuery();
}
}
else
{
//没有就
Response.Write("该用户ID不存在!");
}
}
BindUser();
} }
}

3.Get传值:跳转页面.cs页面

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Configuration;
using System.Data.SqlClient; namespace _20160520
{
public partial class UserInfo : System.Web.UI.Page
{
private string conStr = ConfigurationManager.ConnectionStrings["mySchool"].ToString();
//把这个字符串传进去
//SqlConnection con = new SqlConnection(conStr);
SqlConnection con = null;//相当于是电话
SqlCommand cmd = null;//执行sql语句
SqlDataReader dr = null;//用于储存查询结果
private void openDB()
{
con = new SqlConnection(conStr);
con.Open();//和数据库建立起了连接
//我们单独把这两句话封装起来直接调用就好
} //private int _id = 0;
//public int id
//{
// get
// {
// //return _userId;
// //传过来的id有可能为空,也有可能不是整数
// //它也有可能不是整数,我们就写一个异常
// try
// {
// //判断它是否为空?get的作用是属性,属性是判断它的读和写,Request.QueryString["ID"]里的id要与Eval("ID")的一致
// //==nul等于空,就让它等于0,不等于空,
// _id = Request.QueryString["ID"] == null ? 0 : Convert.ToInt32(Request.QueryString["ID"].ToString());
// }
// catch
// {
// _id = 0;
// }
// return _id;//这样就得到了传过来的id
// }
// set { _id = value; }
//}
private int _id = ; public int Id
{
get
{
try
{
_id = Request.QueryString["ID"] == null ? : Convert.ToInt32(Request.QueryString["ID"].ToString());
}
catch
{
_id = ;
}
return _id;
}
set { _id = value; }
}
protected void Page_Load(object sender, EventArgs e)
{ } //这样就得到了传过来的id,拼凑出来的字符串显示在前端,更多使用这个GridView只能显示表格的形式
public string GetUserInfor()
{
//拼凑字符串需要引用命名空间using System.Text;
StringBuilder sb = new StringBuilder();
//先得到内容
//判断一下id是否>0,>0我们在拼凑
if (Id > )
{
sb.Append(@"<div class=""da"">");
sb.Append("<table>");
openDB();
string sql = string.Format("select * from users where ID={0}",Id);
using (cmd = new SqlCommand(sql, con))
{
using (dr = cmd.ExecuteReader())
{
//dr = cmd.ExecuteReader();
//对这里面的内容进行读数据,读数据就要进行拼凑字符串
if (dr.Read())
{
//数据里面的用户名怎么获取到?
sb.Append(string.Format("<tr><td>用户名:</td><td>{0}</td></tr>", dr["userName"].ToString()));
sb.Append(string.Format("<tr><td>密码:</td><td>{0}</td></tr>", dr["PWD"].ToString()));
sb.Append(string.Format("<tr><td>姓名:</td><td>{0}</td></tr>", dr["loginname"].ToString()));
sb.Append(string.Format("<tr><td>QQ:</td><td>{0}</td></tr>", dr["qq"].ToString()));
sb.Append(string.Format("<tr><td>班级:</td><td>{0}</td></tr>", dr["classname"].ToString()));
sb.Append(string.Format("<tr><td>信息:</td><td>{0}</td></tr>", dr["information"].ToString()));
}
}
}
sb.Append("</table>"); sb.Append("</div>");
}
return sb.ToString();
}
}
}

4. 跳转页面前端页面

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UserInfo.aspx.cs" Inherits="_20160520.UserInfo" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<%--后台有个字符串怎么显示在前端?前端怎么调用后台页面--%>
<%=GetUserInfor() %>
</div>
</form>
</body>
</html>

效果显示:

Ado.net[增删改查,GET传值]的更多相关文章

  1. ADO.NET 增删改查的基本用法

    ADO.NET:数据访问技术 就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中也可以将数据库中的数据提取到内存中供程序调用 所有数据访问技术的基础 连接 ...

  2. LinQ和ADO.Net增删改查 备忘

    是否些倦了 SqlConnection conn=new SqlConnection();一系列繁冗的代码? 来试试Linq吧 查: using System.Data.SqlClient; name ...

  3. ADO.net 增删改查

    ADO.net 一.定义:编程开发语言与数据库连接的一门语言技术 二.链接: 在vs中操作数据库需在开头进行链接 链接内容:using System.Data.SqlClient 三.引用数据库: 四 ...

  4. ado.net增删改查练习

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  5. ado.net增删改查操作

    ado.net是数据库访问技术将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层最基础的数据库访问技术 使用ado.net对数据 ...

  6. ADO.net 增删改查封装DBhelper

    using System; using System.Collections.Generic; using System.Data.SqlClient;//引用数据库客户端 using System. ...

  7. WebForm增删改查

    最基本的,拼接字符串在Literal里面显示表,IsPostBack,增删改查基本,?传值 Request接收 LinQ to SQL类 在Default主页里面拖入Literal控件再加入一个按钮, ...

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

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

  9. ado.net C#如何实现数据库增删改查

    ado.net数据库访问技术将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层的数据库访问技术也就是说是最麻烦但是是最不可缺少的 ...

随机推荐

  1. java中基本类型和包装类型实践经验

    至今,小菜用java快两年了,有些事,也该有个总结. 基本类型和包装类型的概念在本文不作赘述. 如果这两种类型直接使用,倒没什么值得讨论的,无非就是自动装箱拆箱,java可以让你感觉不到他们的存在,但 ...

  2. 如何选择前端框架:ANGULAR VS EMBER VS REACT

    最近一段时间是令前端工程师们非常兴奋的时期,因为三大Web框架陆续发布新版本,让我们见识到了更强大的Web框架.Ember2.0在2个月之前已经发布,从1.0升级到2.0非常简单.几周之前React发 ...

  3. Atitti 数据库事务处理 attilax总结

    Atitti 数据库事务处理 attilax总结 1.1. 为什么要传递Connection?1 1.2. 两种事务处理方式,一种是编程式事务处理;一种是声明...2 1.3. 事务隔离级别 2 1. ...

  4. Atitit 热更新资源管理器 自动更新管理器 功能设计

    Atitit 热更新资源管理器 自动更新管理器 功能设计 · 多线程并行下载支持 · 两层进度统计信息:文件级以及字节级 · Zip压缩文件支持 · 断点续传 · 详细的错误报告 · 文件下载失败重试 ...

  5. Java六大问题你都懂了吗?

    这些问题对于认真学习java的人都要必知的,当然如果你只是初学者就没必要那么严格了,那如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列. 一.到底要怎么样初始化! 本问题讨论 ...

  6. iOS-----用LLDB调试,让移动开发更简单(二)

    image lookup –address 当我们有一个地址,想查找这个地址具体对应的文件位置,可以使用image lookup --address,简写为image lookup -a e.g: 当 ...

  7. HTTP与AJAX深入揭秘,不使用AJAX实现页面无刷新

    AJAX的原理是什么? 实际上就是发起HTTP请求,既然就是发起HTTP请求,那只要我们能够实现发起HTTP请求就可以在不使用AJAX的情况下实现相同的效果. 在前端有好多方式可以发起HTTP请求,比 ...

  8. 深入理解PHP内核(十四)类的成员变量及方法

    原文链接:http://www.orlion.ga/1237/ 类的成员变量在PHP中本质是一个变量,只是这些变量都归属于某个类,并且给这些变量是有访问控制的. 类的成员方法在PHP中本质是一个函数, ...

  9. 实现List按与一个字符串的相似度和字母顺序排序(适用于模糊查询后的排序)

    因公司业务需要,自己写了一个,保存起来以后可能还会用到.如果还有更好的方法或者算法,希望大家提出来. 1.简单的相似度算法(自己想到的)      因为List中每个String都会包含一个标准的字符 ...

  10. Request 接收参数乱码原理解析一:服务器端解码原理

    “Server.UrlDecode(Server.UrlEncode("北京")) == “北京””,先用UrlEncode编码然后用UrlDecode解码,这条语句永远为true ...