什么是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. python基础学习笔记(一)

    安装与运行交互式解释器 在绝大多数linux和 UNIX系统安装中(包括Mac OS X),Python的解释器就已经存在了.我们可以在提示符下输入python命令进行验证(作者环境ubuntu) f ...

  2. Linux内核及分析 第三周 Linux内核的启动过程

    实验过程: 打开shell终端,执行以下命令: cd LinuxKernel/ qemu -kernel linux-3.18.6/arch/x86/boot/bzImage-initrd rootf ...

  3. 2017-2018-2 1723《程序设计与数据结构》实验四 & 实验五 & 课程总结 总结

    作业地址 实验四作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1943 提交情况如图: 实验五作业:https://edu ...

  4. Ajax写成绩批量录入

    1.jsp,ajax的循环调用,必须要递归,否则会出错. <%@ page language="java" import="java.util.*" pa ...

  5. 个人项目Individual Project:迷宫求解

    源码的github链接:           https://github.com/zhangxue520/test 1.1问题描述: a.问题描述:以一个m * n的长方阵表示迷宫,0和1分别表示迷 ...

  6. 【目标跟踪】相关滤波算法之MOSSE

    简要 2010年David S. Bolme等人在CVPR上发表了<Visual Object Tracking using Adaptive Correlation Filters>一文 ...

  7. 5.1 四则运算单元测试j

    由于上个星期请假没上课,这个星期回来才知道作业,时间比较赶,个人能力又不足,作业质量不是很好 Calculator.java import java.util.Scanner; public clas ...

  8. spring 整合

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  9. ThreadPoolExecutor参数

    1.ThreadPoolExecutor个参数的意义(类上的注释内容) * @param corePoolSize the number of threads to keep in the* pool ...

  10. js的forEach遍历不可以给value赋值

    可以给value的对象赋值,如果想共用内存地址可以使用for循环更改数组内对象的值: