什么是ADO.NET:数据库访问技术!

作用:通过程序来连接访问数据库!

一、基础:

using System.Data.SqlClient;    //数据库连接命名空间

string connection = "server =.; Database =Data0908; user =sa; pwd =123;";  //连接字符串,固定关键字;

SqlConnection Conn = new SqlConnection(connection);  //连接数据库类

SqlCommand Comm = Conn.CreateCommand;  //数据库操作类

Conn.ConnectionText = "insert into Users values(' ',' ',' ',' ')";   //连接此Sql语句,Sql语句可以进行增删改查等操作

Conn.Open();   //开启数据库

****开启数据库务必关闭数据库

int zx = Comm.ExectueNonQuery;  //执行上一句连接的Sql语句,此方法适用于增删改

****返回值是一个int类型的值!

Conn.Close();  //关闭数据库

if( zx > 0 )           //如果zx返回的值大于0,那么执行成功添加,否则执行失败

  Console.WriteLine("执行成功");

else

  Console.WriteLine("执行失败");

SqlDataReader DR = Comm.ExectueReader;  //执行上一句连接的Sql语句,此方法适用于查

****返回值是一个bool类型的值!

if(DR.HasRows)   //DR.HasRows相当于返回一个true

  Console.WriteLine("执行成功");

else

  Console.WriteLine("执行失败");

要点:

1、SqlConnection:和数据库交互必须连接他;

2、SqlCommend:成功建立连接后可进行增删改查等命令;

3、SqlDataRead:读取一行字符串的Sql语句;

二、实战:

1、攻击

字符串攻击:a'; delete from user --

2、防御

防字符串攻击:

Comm.CommandText = " select * from Users where  UserName = @a";  //利用@占位符占一个位置

Comm.Parameters.Clear();  //清空内容

Comm.Parameters.Add("@a", username);  //username用户输入的内容,输入什么就是什么,不会被当成代码执行

C# ADO.NET基础&实战的更多相关文章

  1. ADO.NET基础03

    数据库和VS的连接,实现数据的同步,让用户的一切信息都可以在数据库中留下记录. ADO.NET基础      它是连接所有数据库的一种特殊的技术,提供对不同的数据库统一操作接口. 在VS中也可以添加数 ...

  2. javamail模拟邮箱功能发送电子邮件-基础实战篇(javamail API电子邮件实例)

    引言: JavaMail 是一种可选的.能用于读取.编写和发送电子消息的包 JavaMail jar包下载地址:http://java.sun.com/products/javamail/downlo ...

  3. .Net Core 系列:2、ADO.Net 基础

    目录: 1.环境搭建 2.ADO.Net 基础 3.ASP.Net Core 基础 4.MD5.Sha256.AES 加密 5.实现登录注册功能 6.实现目录管理功能 7.实现文章发布.编辑.阅览和删 ...

  4. 有关ADO.NET基础中的基础的熟悉过程

    现在对于ADO.NET基础的理解与记忆并不严谨和完善 所以,只写一点关于自己的理解,嗯,一种去转换思维理解的方法吧,算是吧 希望各位前辈或者同学,积极指出其中的错误和偏差 个人对于刚接触的ADO.NE ...

  5. MySQL的初次见面礼基础实战篇

    [版权申明] http://blog.csdn.net/javazejian/article/details/61614366 出自[zejian的博客] 关联文章: MySQL的初次见面礼基础实战篇 ...

  6. 如鹏网学习笔记(六)ADO.Net基础

    ADO.Net基础 一.ADO.Net简介 1,程序要通过SQL语句自动化的操作数据库,必须要用一个类库, 类库要提供execute("insert into ...")/exec ...

  7. python基础 实战作业 ---Excel基本读写与数据处理

    代码地址如下:http://www.demodashi.com/demo/11650.html 看完本篇需要: 10min 作业练习需要: 0.5h~3h(依练习者对python熟悉程度而定) 看完本 ...

  8. ADO.NET基础开发

    ADO.NET是微软新一代.NET数据库的访问架构,ADO是ActiveX Data Objects的缩写.ADO.NET是数据库应用程序和数据源之间沟通的桥梁,主要提供了一个面向对象的数据访问架构, ...

  9. Spring Cloud Alibaba | Sentinel:分布式系统的流量防卫兵基础实战

    Spring Cloud Alibaba | Sentinel:分布式系统的流量防卫兵基础实战 Springboot: 2.1.8.RELEASE SpringCloud: Greenwich.SR2 ...

随机推荐

  1. 身在上海的她,该不该继续"坚持"前端开发?

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 一 对于目前的IT行业,我实在不想她还没在这个行业中站稳脚跟就开始有 ...

  2. 从源码的角度看 React JS 中批量更新 State 的策略(上)

    在之前的文章「深入理解 React JS 中的 setState」与 「从源码的角度再看 React JS 中的 setState」 中,我们分别看到了 React JS 中 setState 的异步 ...

  3. ACM-ICPC 2018 徐州赛区网络预赛 G. Trace-树状数组-区间修改,单点查询

    赛后和队友讨论了一波,感谢无敌的队友给我细心的讲题 先埋坑 #include<iostream> #include<string.h> #include<algorith ...

  4. 牛客OI赛制测试赛-序列-模拟

    哇这道题好坑啊,可能是我太菜了 题意就是叫把一个连续序列分成K组,使得每个组的和都相等 我最开始的想法是由于要分成K组,那我们知道,每组一定有sum(a[i])/k这样我们只需要每次当num==sum ...

  5. cf946d 怎样逃最多的课dp

    来源:codeforces                                              D. Timetable Ivan is a student at Berland ...

  6. swap函数

    #include<iostream> using namespace std; void swap(int& a,int& b){ int t=a; a=b; b=t; } ...

  7. 通过LVM给Linux扩容

    主要参考以下两篇文章: 1:https://www.cnblogs.com/sixiweb/p/3360008.html 2:https://wenku.baidu.com/view/42deee1a ...

  8. Linux CentOS虚拟机网卡配置

    最近在VMware安装CentOS6.5之后,每次从宿主机访问虚拟机的Oracle时,都要修改IP地址,因为没有设置虚拟机的IP,所以每次开机之后虚拟机的IP地址都是随机的,于是研究了下给虚拟机配置静 ...

  9. C++与C的区别

    在最开始C++只是C加上了一些面向对象的特性,C++最初的名字为C with Classes.后来C++又提出了一些不同于Class的特性:Exceptions(异常).templates(模板).S ...

  10. Delphi导出数据的多种方法

    //Dxdbgrid,则直接用SaveToexcel即可//使用 ExcelWithOdbc 控件function TDataModule1.GetDataToFile(DsData: TObject ...