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的更多相关文章

  1. 抽象工厂在ADO.Net中的应用

    https://msdn.microsoft.com/zh-cn/library/ms971499.aspx http://www.c-sharpcorner.com/UploadFile/moses ...

  2. 【转】Entity Framework教程(第二版)

    源起 很多年前刚毕业那阵写过一篇关于Entity Framework的文章,没发首页却得到100+的推荐.可能是当时Entity Framework刚刚发布介绍EF的文章比较少.一晃这么多年过去了,E ...

  3. 杂项:SQLite

    ylbtech-杂项:SQLite SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是 ...

  4. Entity Framework教程(第二版)

    源起 很多年前刚毕业那阵写过一篇关于Entity Framework的文章,没发首页却得到100+的推荐.可能是当时Entity Framework刚刚发布介绍EF的文章比较少.一晃这么多年过去了,E ...

  5. c#事务用法

    ado.net2.0的SqlTransaction使用方法 /////ado.net1.0中使用Transacation(事务) string connectionString = "dat ...

  6. 使用C#对SQLLite进行操作

    1.数据库连接(常用连接方法,示例) 1). 添加引用: System.Data.SQLite.DLL .2). 打开或创建数据库文件: SQLiteConnection.CreateFile(fil ...

  7. [知识库分享系列] 四、ASP.NET MVC and Winform

    知识库分享系列: [知识库分享系列] 三.Web(高性能Web站点建设) [知识库分享系列] 二..NET(ASP.NET) [知识库分享系列] 一.开篇 分享介绍本篇分享两个知识库节点,分别为“AS ...

  8. [知识库分享系列] 二、.NET(ASP.NET)

    最近时间又有了新的想法,当我用新的眼光在整理一些很老的知识库时,发现很多东西都已经过时,或者是很基础很零碎的知识点.如果分享出去大家不看倒好,更担心的是会误人子弟,但为了保证此系列的完整,还是选择分享 ...

  9. EntityFramework学习

    本文档主要介绍.NET开发中两项新技术,.NET平台语言中的语言集成查询技术 - LINQ,与ADO.NET中新增的数据访问层设计技术ADO.NET Entity Framework.ADO.NET的 ...

随机推荐

  1. Android SDK Manager for Mac 在线更新镜像地址截至2017-10-01亲测有效

    虽然国内google被墙了,但仍可利用国内的某些镜像网站实现Android SDK在线更新,使用方法如下: 1.启动 Android SDK Manager ,打开主界面,依次选择『Tools』.『O ...

  2. 《CSS世界》读书笔记(十三)

    <!-- <CSS世界>张鑫旭著 --> margin 无效情形解析 (1)display 计算值 inline 的非替换元素的垂直 margin 是无效的.对于内联替换元素, ...

  3. C++ STL标准容器插入删除算法的复杂度

    1 vector内部实现: 数组 // 就是没有固定大小的数组,vector直接翻译是向量的意思支持操作:begin(), //取首个元素,返回一个iteratorend(), //取末尾(最后一个元 ...

  4. 从头推导与实现 BP 网络

    从头推导与实现 BP 网络 回归模型 目标 学习 \(y = 2x\) 模型 单隐层.单节点的 BP 神经网络 策略 Mean Square Error 均方误差 \[ MSE = \frac{1}{ ...

  5. Appium 框架工作流程及原理

    目前Appium框架可以时支持android 和 ios 两个操作系统的App自动化测试,咱们分别对以下两款操作系统的工作流程进行说明. 一.appium-Android工作流 在Android端,a ...

  6. Lesson 01-Linux安装及基础命令

    .Linux安装(略)2.基础命令 cd 切换目录 /home 切换到home目录 . 代表当前目录 .. 代表切换到当前目录的上级目录 ~ 代表切换到用户家目录 空 代表切换到用户家目录 - 代表切 ...

  7. UVA11020 Efficient Solutions

    思路 先判断一个点能不能插入,能插入的话删除所有因为它而没有优势的点 注意 写 S.erase(it); it++; 会RE 要写 S.erase(it++); 代码 #include <cst ...

  8. (js) 字符串和数组的常用方法

    JS中字符串和数组的常用方法 JS中字符串和数组的常用方法 js中字符串常用方法 查找字符串 根据索引值查找字符串的值 根据字符值查找索引值 截取字符串的方法 字符串替换 字符串的遍历查找 字符串转化 ...

  9. Sitecore8.2 Tracker.Current is not initialized错误

    这是在访问前端的时候出现的错误...Tracker.Current 未初始化..并没更新修改什么,好端端的这样 而Siatecore后台可以正常访问进入 先查看日志--> 由此我判断可能是Mon ...

  10. 记flask连接容联云时提示172001,网络错误

    直接用sms.py发送没有问题,直接从写好的注册页面发送就不行.在网上查了不少方法,试过了依然没用,结果换了一个网络就好了,估计是部分网络无法正常发送..后来问了下是环境问题,开发环境不稳定