2015-112 ado.net2
CRUD:create read update delete
七. 数据绑定数据列的转换
在gridview中添加<OnRowDataBound="GridView1_RowDataBound">
在cs中
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)//判断是数据行
{
string cate = e.Row.Cells[2].Text;
switch (cate)
{
case "1":
e.Row.Cells[2].Text = "网页前端";
break;
case "2":
e.Row.Cells[2].Text = "数据库";
break;
case "3":
e.Row.Cells[2].Text = ".NET";
break;
case "4":
e.Row.Cells[2].Text = "PS";
break;
default:
break;
}
DateTime cdate = Convert.ToDateTime(e.Row.Cells[3].Text); //将字符串转为日期类型
e.Row.Cells[3].Text = cdate.ToLongDateString().ToString(); //转换成其他格式的日期
}
}
八.数据增删
1.添加数据
string txet = Txtcmain.Text.Trim();
string strsql = string.Format("insert into Rnews(Title,Text,CreatTime) values('{0}','{1}','{2}')", title, txet, DateTime.Now.ToString());
using(con=new SqlConnection(strCon))
{
con.Open();
using (cmd = new SqlCommand(strsql, con))
{
cmd.ExecuteNonQuery();
}
BindRnews();
Response.Write("<script>alert('添加成功')</script>");
}
2.删除数据
int id = Convert.ToInt32(Txtdeleid.Text.Trim());
string str = string.Format("select count(*) from Rnews where newsId={0}", id);
using(con=new SqlConnection(strCon)) {
con.Open();
using(cmd=new SqlCommand(str,con)) {
if(Convert.ToInt32(cmd.ExecuteScalar().ToString())==0) {
Response.Write("<script>alert('id不存在')</script>");
}
else {
string strsql = string.Format("delete Rnews where newsId={0}", id);
using (cmd = new SqlCommand(strsql, con)) {
cmd.ExecuteNonQuery();//对数据库进行增加,删除,修改
}
BindRnews();
Response.Write("<script>alert('删除成功')</script>");
}
}
}
3.修改语句:update biaoming set title="" where id=1
九.绑定详细数据
9.1 在gridview中,编辑列,添加TemplateField,headertext中写上标题,返回选择编辑模板,在templatefield上添加<ItemTemplate>
<asp:TemplateField HeaderText="详情">
<ItemTemplate>
<a href='newsmain.aspx?newsId=<%#Eval("newsId") %>'>详细</a></ItemTemplate>
<%-- GET传值 <%#Eval("newsId") %>固定写法,绑定这一行的id--%>
</asp:TemplateField>
9.2 在新页面中,将光标放到字段上,重构,选择封装字段,得到属性,获取内容
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace yishen1
{
public partial class newsmain : System.Web.UI.Page
{
/// <summary>
/// 连接数据库
/// </summary>
string strCon = ConfigurationManager.ConnectionStrings["qie_yishen"].ToString();
SqlConnection con;
SqlCommand cmd;
SqlDataReader read;
/// <summary>
/// 获取newsid值
/// </summary>
private int _newsid;
public int Newsid
{
get {
try
{
_newsid = Request.QueryString["newsId"] == null ? 0 : Convert.ToInt32(Request.QueryString["newsId"].ToString());
}
catch
{
_newsid = 0;
}
return _newsid; }
set { _newsid = value; }
}
public string Getnews()
{
StringBuilder sb = new StringBuilder();
using (con = new SqlConnection(strCon))
{
con.Open();
if (Newsid > 0)
{
string strsql = string.Format("select newsId,Title,Text,CreatTime from Rnews where newsId={0}", Newsid);
cmd=new SqlCommand(strsql,con);
using (read = cmd.ExecuteReader())
{
if (read.Read())
{
sb.Append("<table>");
sb.Append(string.Format("<tr><td>新闻id:</td><td>{0}</td></tr>", Newsid));
sb.Append(string.Format("<tr><td>标题:</td><td>{0}</td></tr>", read["Title"].ToString()));
sb.Append(string.Format("<tr><td>内容:</td><td>{0}</td></tr>", read["Text"].ToString()));
sb.Append(string.Format("<tr><td>创建时间:</td><td>{0}</td></tr>", read["CreatTime"].ToString()));
sb.Append("</table>");
}
else
{
sb.Append("暂无数据");
}
}
}
else
{
sb.Append("暂无数据");
}
}
return sb.ToString();
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
9.3前台调用后台
在div中写上 <%=Getnews() %> //在此不代表注释
9.4 post传值
默认的是get传值,所以要设置传值方式 method=post,action=“.....”设置传到的页面
<form id="form1" action="PostBehindPage.aspx" method="post">
<input type="text" name="username" />
<input type="password" name="pwd" />
<input type="submit" /> //代表提交按钮
</form>
注:在post传值中,必须要设置name。
9.5 在新页面的cs中,添加代码
protected void Page_Load(object sender, EventArgs e)
{
string username = Request.Form["username"].ToString(); //获取用户名
string pwd = Request.Form["pwd"].ToString(); //获取密码
Response.Write(username + " " + pwd); //显示
}
2015-112 ado.net2的更多相关文章
- 抽象工厂在ADO.Net中的应用
https://msdn.microsoft.com/zh-cn/library/ms971499.aspx http://www.c-sharpcorner.com/UploadFile/moses ...
- 【转】Entity Framework教程(第二版)
源起 很多年前刚毕业那阵写过一篇关于Entity Framework的文章,没发首页却得到100+的推荐.可能是当时Entity Framework刚刚发布介绍EF的文章比较少.一晃这么多年过去了,E ...
- 杂项:SQLite
ylbtech-杂项:SQLite SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是 ...
- Entity Framework教程(第二版)
源起 很多年前刚毕业那阵写过一篇关于Entity Framework的文章,没发首页却得到100+的推荐.可能是当时Entity Framework刚刚发布介绍EF的文章比较少.一晃这么多年过去了,E ...
- c#事务用法
ado.net2.0的SqlTransaction使用方法 /////ado.net1.0中使用Transacation(事务) string connectionString = "dat ...
- 使用C#对SQLLite进行操作
1.数据库连接(常用连接方法,示例) 1). 添加引用: System.Data.SQLite.DLL .2). 打开或创建数据库文件: SQLiteConnection.CreateFile(fil ...
- [知识库分享系列] 四、ASP.NET MVC and Winform
知识库分享系列: [知识库分享系列] 三.Web(高性能Web站点建设) [知识库分享系列] 二..NET(ASP.NET) [知识库分享系列] 一.开篇 分享介绍本篇分享两个知识库节点,分别为“AS ...
- [知识库分享系列] 二、.NET(ASP.NET)
最近时间又有了新的想法,当我用新的眼光在整理一些很老的知识库时,发现很多东西都已经过时,或者是很基础很零碎的知识点.如果分享出去大家不看倒好,更担心的是会误人子弟,但为了保证此系列的完整,还是选择分享 ...
- EntityFramework学习
本文档主要介绍.NET开发中两项新技术,.NET平台语言中的语言集成查询技术 - LINQ,与ADO.NET中新增的数据访问层设计技术ADO.NET Entity Framework.ADO.NET的 ...
随机推荐
- 在dotnetcore的MVC项目中,创建支持 vue.js 的最小工程模板
网上Vue模板不是最新的,我自己做了一个最新的支持 Vue.js 的最小工程模板,方便大家从 Hello world. 入门, 在 VS2017 里学习,并扩展出自己的项目. 下面是创建步骤: 1.在 ...
- IP通信基础学习第四周(下)
选择子网掩码时,不总是使用整个八位作为屏蔽位. 在每个子网中,子网掩码是相同的. 在划分子网的情况下,判断两台主机是不是在同一子网中,需看它们的网络号与子网地址是不是相同的. 变长子网掩码VLSM,无 ...
- Docker 构建 RabbitMQ 集群
刚开始,关于RabbitMQ集群的搭建,我找到了这篇文章:Docker 安装 RabbitMQ 集群 从而找到了第三方的RabbitMQ集群容器 rabbitmq-server 但是这个容器只有3.6 ...
- 虚拟蜜罐honeyd安装使用
转https://blog.csdn.net/jack237/article/details/6828771
- Eclipse中tomcat启动时报jar包 it's not a class错误;
Console报错如上: 解决方法: 在Eclipse中Servers文件夹下 对应的项目文件中catalina.properties文件中tomcat.util.scan.DefaultJarSca ...
- oracle 表空间管理相关(原创)
通过以下几步基本可以查看表空间情况以及处理表空间不足问题. ASM相关 查看asm空间 select group_number,name,total_mb,free_mb from v$asm_dis ...
- SKCTF Writeup
签到题 请打开微信关注,发送give me flag,即可获得. Encode 1.ACSCLL 首先看到这类题,我们肯定是要使用ASCLL的(这么明显的提示大家肯定一眼就能看出来),我们可以对照As ...
- ip xfrm命令是做什么的?
答: 设置xfrm.xfrm(transform configuration)是一个IP框架,用来转换数据包的格式,也就是使用算法来加密数据包,该框架用作IPsec协议的一部分 ip xfrm sta ...
- BZOJ 4259 残缺的字符串
思路 同样是FFT进行字符串匹配 只不过两个都有通配符 匹配函数再乘一个\(A_i\)即可 代码 #include <cstdio> #include <algorithm> ...
- 关于win10触控板两指点击无效的问题
一.前言 最近发现公司的本本两指点击触控板没有反应,单指和三指点击触控板都是正常的.网上也搜了 一些解决的方法,最开始因为没有明确自己的触控板是Synaptics还是Elan的,导致没有解决.首先我们 ...