ADO.NET

一.什么是ado.net

ADO.NET是一组允许.NET开发人员使用标准的,结构化的,甚至无连接的方式与数据交互的技术。

   它所属类库是:System.Data.dll

二.连接到数据库

    2.1 web.config里面配置

<connectionStrings>
              <add name="qie_yishen" connectionString="Database=qie_yishen;Server=LENOVO-PC;Integrated Security=false;Uid=sa;Password=123456;"                         providerName="System.Data.SqlClient"/>
         </connectionStrings>

////// Integrated Security=True是Windows连接

2.2  后台调用

//通过节点的名称,获取节点的字符串

//电话号码

string strCon = ConfigurationManager.ConnectionStrings[“qie_yishen”(结点名,一般为数据库名)].ToString();   //System.Configuration命名空间

三.ado.net对象

3.1Connection对象,Command对象,SqlDataReader对象

//创建对象

SqlConnection con = new SqlConnection(strCon);//电话

con.Open(); //和数据库建立起连接,拨通电话

string strsql = string.Format("select userId from Login where userName='{0}'and userPwd='{1}'", username, pwd);//将字符串获取到内容中,防注入

SqlCommand cmd = new SqlCommand(strsql,con); //执行sql语句

SqlDataReader read = cmd.ExecuteReader();//获取sql语句的结果

                if(read.Read())
{
Response.Write("<script>alert('登录成功');</script>");
Response.Redirect("Rnewsfind.aspx"); //跳转页面
}
else
{
Response.Write("<script>alert('用户名密码错误')</script>");
}  
read.Close();
read.Dispose();
con.Close();
con.Dispose();

3.2Command对象

1. ExecuteNonQuery: 执行增删改语句,返回值为该命令所影响的行数。

2. ExecuteReader: 执行查询,并返回一个 DataReader 对象。

3. ExecuteScalar: 执行查询, 返回查询数。

另:  凡是继承于IDisposable的接口的都要释放资源 譬如:SqlConnection,SqlDataReade

using 1.引入命名空间 2.释放资源

所以上面也可以写成:

                using (SqlConnection con = new SqlConnection(strCon))
{
con.Open();
string strsql = string.Format("string userId from Login where userName='{0}'and userPwd='{1}'", username, pwd);
SqlCommand cmd = new SqlCommand(strsql, con);
using (SqlDataReader read = cmd.ExecuteReader())
{
if (read.Read())
{
Response.Write("<script>alert('登录成功');</script>");
}
else
{
Response.Write("<script>alert('用户名密码错误')</script>");
}
}
}

四.字符串拼凑,防sql注入

        StringBuilder sb = new StringBuilder();
sb.Append("select * from Rnews where 1=1");
if(!string.IsNullOrEmpty(txtNewid.Text.Trim()))
{
sb.Append(string.Format("and newsId={0}", Convert.ToInt32(txtNewid.Text.Trim())));
}
if(ddlnews.SelectedIndex>0)
{
sb.Append(string.Format("and Title='{0}'", ddlnews.SelectedValue));
}
return sb.ToString();

五.数据绑定

       string strsql = Getsql();
using(con = new SqlConnection(strCon))
{
con.Open();
cmd = new SqlCommand(strsql, con);
using(read=cmd.ExecuteReader())
{
if(read.HasRows) //获取结果集
{
gvRnews.DataSource = read; //获取数据源
gvRnews.DataBind(); //数据绑定
}
}
}

六.fieldset标签

 <fieldset style="width: 405px; height: 53px">
<legend align="top">查询</legend>
</fieldset>

  

 

2015-10-29 ado.net 1的更多相关文章

  1. Forth scrum meeting - 2015/10/29

    今天下午,我们终于要到了MOOC服务器端开发人员的联系方式,于是我们小组派了三名同学去实验室与他们进行了交流,并咨询了他们一些关于API接口的问题.他们也对我们这个客户端的开发提出了一些建议. 开发团 ...

  2. Daily Scrum (2015/10/29)

    今天晚上我们学霸项目的三个小组在一起开会,讨论如何能在后期使我们三个项目更好地结合在一起.为了三个小组的能够同时工作,不出现某一小组因需要其他小组成果而停滞的情况,我们决定围绕lucene,solr, ...

  3. Daily Scrumming* 2015.10.29(Day 10)

    一.总体情况总结 二.今明两天任务表 Member Today’s Task Tomorrow’s Task 江昊 了解微信API,与社团服务平台创业公司嗨社团创始人沟通,了解其平台运营方案与商业模式 ...

  4. 背水一战 Windows 10 (29) - 控件(文本类): RichTextBlock, RichTextBlockOverflow, RichEditBox

    [源码下载] 背水一战 Windows 10 (29) - 控件(文本类): RichTextBlock, RichTextBlockOverflow, RichEditBox 作者:webabcd ...

  5. 4分钟apache自带ab压力测试工具使用: 2015.10.4

    2015.10.44分钟apache自带ab压力测试工具使用:win8.1 wampserver2.5 -Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b 可以参考一下部 ...

  6. 2015.12.29~2015.12.30真题回顾!-- HTML5学堂

    2015.12.29~2015.12.30真题回顾!-- HTML5学堂 吃饭,能够解决饥饿,提供身体运作机能.练习就像吃饭,强壮自己,提升编程技能,寻求编程技巧的最佳捷径!吃饭不能停,练习同样不能停 ...

  7. 【Selenium】【BugList9】windows环境,fp = open("./"+ time.strftime("%Y-%m-%d %H:%M:%S") + " result.html",'wb'),报错:OSError: [Errno 22] Invalid argument: './2018-09-05 10:29:32 result.html'

    [代码] if __name__=="__main__": suite = unittest.TestSuite() suite.addTest(Baidu("test_ ...

  8. 10.29 正睿停课训练 Day11

    目录 2018.10.29 正睿停课训练 Day11 A 线段树什么的最讨厌了(思路 DFS) B 已经没有什么好害怕的了(差分 前缀和) C 我才不是萝莉控呢(DP 贪心 哈夫曼树) 考试代码 A ...

  9. First Scrum Meeting (2015/10/18)

    会议是在昨晚进行的,本来早就应该写博了,可惜今天校园网炸个不停= =.刚修好就赶紧来发博客. 会议基本要素 会议主题:爬虫项目的核心技术讨论以及项目初期的工作分配 会议时间:2015.10.18 19 ...

  10. 第17次Scrum会议(10/29)【欢迎来怼】

    一.小组信息 队名:欢迎来怼小组成员队长:田继平成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华 小组照片 二.开会信息 时间:2017/10/29 17:20~17:42,总计22min.地点:东北师 ...

随机推荐

  1. 信步漫谈之Redis—Linux下环境搭建

    一.环境 Linux 系统:Suse11(SLES-11-SP3-DVD-x86_64-GM-DVD1)Redis 安装包:redis-4.0.11.tar.gz      下载地址:http://d ...

  2. [dart学习]第一篇:windows下安装配置dart编译环境,写出helloworld

    前言 博主非科班出身,平时多用C语言,最近想了解学习一门第二语言,看上了可用于移动开发的目前还小众一点dart,准备用一段比较长的时间来慢慢学习.理解. 关于dart语言不再详细介绍了,大家可以访问  ...

  3. 【python】文件处理行与行之间的内容

    在处理文本文件时,很多时候需要我们处理跨行的数据,但是用for循环处理不是很方便,想了一个歪招来处理不是很大的数据. 核心思想就是将上一行的东西存在一个列表里,到下一行用完这个数据在循环体里将列表初始 ...

  4. 基于OpenCV做“三维重建”(4)--相机姿态还原和实现三维重建

    v当我们构建成功了viz,就可以使用3维效果给我们提供的便利,进一步进行一些3维的操作. 在这个动画中,注意图片后面的那个黑线,对应的是相机的位置. /*----------------------- ...

  5. 湖南省队集训 Day 2

    从这里开始 Problem A 走路 Problem B 游戏 Problem C 有趣的字符串题 暴力分又没骗满sad..... Problem A 走路 $O(n^2)$动态规划是显然的. 更新方 ...

  6. day14

    迭代器什么是迭代器(iterator) 器指的是某种工具 迭代指的是更新换代的过程,例如应用程序的版本更新从1.0 变成 1.2 迭代的目的是要根据上一个结果,产生下一个结果,这是一个重复的过程,但不 ...

  7. Python day 05

    day05 数据类型 今日内容 字典 补充 .extend() users = [1,2,3,4] people = [5,6,7,8] users.extend(people) people.ext ...

  8. idea本地调试spark,hive,kafka

    https://note.youdao.com/share/?id=753c443aa4a665679d8d00c9c50363b0&type=note#/

  9. webdriver之select、alert、prompt、confirm

    select_by_index()  :通过索引定位select_by_value()  :通过value值定位select_by_visible_text() :通过文本值定位deselect_al ...

  10. Java类的加载和对象创建流程的详细分析

    相信我们在面试Java的时候总会有一些公司要做笔试题目的,而Java类的加载和对象创建流程的知识点也是常见的题目之一.接下来通过实例详细的分析一下: package com.test; public ...