【gridview增删改查】数据库查询后lodop打印
ASP.NET中使用gridview可以很容易的把需要的数据动态显示在前台,还可以在表格里加入列进行增删改查,每次点击的时候重新加载数据,gridview也提供了分页等功能,还有一些模版让显示在前台的表格更美观。
此博文是以前写的,那时候写的比较随意,图片也没有经过PS成一张图,略微整理后发出来,虽然上学的时候写的方法都是用英文,当时发出来不是在博客上,读者很多不是软件专业,为了更通俗易懂,所以把上学用的一些方法改成了汉字首字母,比如zsg就是增删改,有的例如binddata()是用的原来的英文描述,由是上学写的稍作修改的代码,此文应该挺适合小白看,没有复杂的内容。
对数据库增删改查,首先要写对数据库连接字符串,如图,这张图示以前找的,现在应该还不过时,上学用的sqlsever数据库,这是后来换新电脑后,只装了个access数据库,所以上网搜了一下access的数据库连接字符串,根据access版本写上后是正确的,这个图片在当时感觉还挺全的。现在有点过时了,access版本也更新了不少。
ASP.NET连接字符串:

--注:此代码也有点问题,比如如下所说情况,但是当时边写边写文章,所以没再改--
如果输入textbox1,没有点击查询,然后输入第二个textbox2,第一个不清空很不舒服。原来只想着查完情况,好预备下一次输入,重置一下,但是没有考虑到前面那种状况,应该两个都清空或者一开始就清空,总之就这样带着吧。--
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.OleDb;
using System.Text; public partial class ceshi5 : System.Web.UI.Page
{
public static DataTable getdt(string strSQL)
{
string connstring = "provider=Microsoft.Ace.Oledb.12.0;Data Source=D:/da2.accdb";//(链接数据库的字符串)
OleDbConnection conn = new OleDbConnection(connstring);//(根据连接字符串,创建一个链接)
conn.Open();//(打开链接) OleDbDataAdapter da = new OleDbDataAdapter(strSQL, conn);//(根据查询语句,链接,创建一个适配器)
DataTable dt = new DataTable();//(新建一个空表)
da.Fill(dt);//(用适配器da,填满dt新表) conn.Close();//(关闭链接)
return dt;//(返回填满的那个表)
}
public static void zsg(string sql)
{
string connstring = "provider=Microsoft.Ace.Oledb.12.0;Data Source=D:/da2.accdb";//(链接数据库的字符串)
OleDbConnection conn = new OleDbConnection(connstring);//(根据连接字符串,创建一个链接)
OleDbCommand cmd = new OleDbCommand(sql, conn); conn.Open();//(打开链接) cmd.ExecuteNonQuery();
conn.Close();//(关闭链接) }
public void binddata()
{
DataTable dtt = getdt("select kw,info from lodopkeyword");
GridView1.DataSource = dtt;
GridView1.DataBind(); }
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
binddata();
}
}
protected void Btn_wen_Click(object sender, EventArgs e)
{
DataTable dt = getdt("select kw as 问题,info as 答案 from lodopkeyword where kw like'%" + TextBox1.Text + "%'");
GridView1.DataSource = dt;
GridView1.DataBind();
TextBox1.Text = "";
}
protected void Btn_da_Click(object sender, EventArgs e)
{
DataTable dt = getdt("select kw as 问题,info as 答案 from lodopkeyword where info like'%" + TextBox2.Text + "%'");
GridView1.DataSource = dt;
GridView1.DataBind();
TextBox2.Text = "";
}
protected void btninsert_Click(object sender, EventArgs e)
{
string sql = "insert into lodopkeyword(kw,info) values('" + TextBox3.Text + "','" +
TextBox4.Text + "')";
zsg(sql);
binddata();
TextBox3.Text = ""; TextBox4.Text = "";
}
}



由于是以前的文字,图片没有经过整合处理,以前的文章图片较多,较繁杂,取了部分图片,图片经过多次转存有点变形。
【gridview增删改查】数据库查询后lodop打印的更多相关文章
- OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)
公司的一个新项目使用ASP.NET MVC开发,经理让我写个OracleHelper,我从网上找了一个比较全的OracleHelper类,缺点是查询的时候返回DataSet,数据增删改要写很多代码(当 ...
- django之创建第8-1个项目-数据库之增删改查/数据库数据显示在html页面
1.为test.DB数据库预先创建下面数据 1 张三 16 2015-01-02 12 李四 17 2015-01-04 13 王五 14 ...
- Yii数据库操作增删改查-[增加\查询\更新\删除 AR模式]
在Yii的开发中常常需要去使用Yii的增删改查方法,这些方法又可以多次变化和组合,带来全方位的实现对数据库的处理,下面对这些方法做一些简单的整理和梳理,有遗漏或是BUG,敬请指出.灰常感谢!!! 一. ...
- django ORM 增删改查 模糊查询 字段类型 及参数等
ORM 相关 #sql中的表 #创建表: CREATE TABLE employee( id INT PRIMARY KEY auto_increment , name VARCHAR (), gen ...
- 【项目笔记】完成一个基于SSM框架的增删改查的模块后总结的问题
最近为了准备新工作重新摸出了SSM框架,同时从0学习了JQuery,终于用一周做完了一个包括增删改查的模块(主要是属性太多了,其中一个类50+,复制粘贴耗时). 从中特意记下了几个遇到的问题,总结一下 ...
- MyBatis入门2_增删改查+数据库字段和实体字段不一致情况
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 当数据库字段和实体bean中属性不一致时 之前数据库P ...
- vba增删改查数据库2
sub test()Set cnn = CreateObject("ADODB.Connection") Set rs = CreateObject("Adodb.Rec ...
- android139 360 黑名单 增删改查-数据库操作
BlackNumberOpenHelper.java package com.itheima52.mobilesafe.db.dao; import android.content.Context; ...
- laravel 增删改查 数据库设置 路由设置
laravel 框架的路由设置: url: http://www.shanzezhao.com/laraverl/my_laravel/public/index.php/indexs laravel ...
随机推荐
- mysql编码问题:
在my.ini文件改为: [client]default-character-set = utf8port=3306 [mysql] default-character-set=utf8 [mysql ...
- Android学习之基础知识五—Android常用的七大控件
一.TextView控件:在界面上显示一段文本信息 先看XML代码和执行效果: 代码分析: 1.android:id属性,给当前控件定义了一个唯一的标识符 2.android:layo ...
- android之WIFI小车编程详述
有了前几篇wifi模块eps8266的使用,单片机设置eps8266程序,android TCP客户端,现在就做一个wifi小车 先上图 小车是四个轮子的,每个轮子上都有电机驱动,前进后退的时候四个轮 ...
- day87
分页器 PageNumberPagination(普通分页器) 说明: 配置分页器的中最大显示个数(也可在setting中做全局配置) page.page_size = 2 REST_FRAMEWOR ...
- ASP.NET Web API上实现 Web Socket - 转
1. 什么是Web Socket Web Socket是Html5中引入的通信机制,它为浏览器与后台服务器之间提供了基于TCP的全双工的通信通道.用以替代以往的LongPooling等comet st ...
- [Oracle]快速构造大量数据的方法
[Oracle]快速构造大量数据的方法: create table tab001(id integer primary key, val varchar2(100)); insert into tab ...
- python中和生成器协程相关的yield from之最详最强解释,一看就懂(四)
如果认真读过上文的朋友,应该已经明白了yield from实现的底层generator到caller的上传数据通道是什么了.本文重点讲yield from所实现的caller到coroutine的向下 ...
- Codeforces 987E Petr and Permutations(数组的置换与复原 、结论)
题目连接: Petr and Permutations 题意:给出一个1到n的序列,Petr打乱了3n次,Um_nik打乱了7n+1次,现在给出被打乱后的序列,求是谁打乱的. 题解:因为给出了一个3* ...
- Mybatis教程-实战看这一篇就够了
转自:https://blog.csdn.net/hellozpc/article/details/80878563 1.从JDBC谈起 1.1.使用IDEA创建maven工程 1.2.引入mysql ...
- Python 学习 第四篇:动态类型模型
Python的变量不用声明,赋值之后就可以直接使用,类型是在运行过程中自动确定的,这就是动态类型模型.该模型把变量和对象设计成两个不同的实体,对象是存储数据的地方,对象的类型是由初始值自动决定的,而变 ...