C# ADO.NET基础&实战
什么是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基础&实战的更多相关文章
- ADO.NET基础03
数据库和VS的连接,实现数据的同步,让用户的一切信息都可以在数据库中留下记录. ADO.NET基础 它是连接所有数据库的一种特殊的技术,提供对不同的数据库统一操作接口. 在VS中也可以添加数 ...
- javamail模拟邮箱功能发送电子邮件-基础实战篇(javamail API电子邮件实例)
引言: JavaMail 是一种可选的.能用于读取.编写和发送电子消息的包 JavaMail jar包下载地址:http://java.sun.com/products/javamail/downlo ...
- .Net Core 系列:2、ADO.Net 基础
目录: 1.环境搭建 2.ADO.Net 基础 3.ASP.Net Core 基础 4.MD5.Sha256.AES 加密 5.实现登录注册功能 6.实现目录管理功能 7.实现文章发布.编辑.阅览和删 ...
- 有关ADO.NET基础中的基础的熟悉过程
现在对于ADO.NET基础的理解与记忆并不严谨和完善 所以,只写一点关于自己的理解,嗯,一种去转换思维理解的方法吧,算是吧 希望各位前辈或者同学,积极指出其中的错误和偏差 个人对于刚接触的ADO.NE ...
- MySQL的初次见面礼基础实战篇
[版权申明] http://blog.csdn.net/javazejian/article/details/61614366 出自[zejian的博客] 关联文章: MySQL的初次见面礼基础实战篇 ...
- 如鹏网学习笔记(六)ADO.Net基础
ADO.Net基础 一.ADO.Net简介 1,程序要通过SQL语句自动化的操作数据库,必须要用一个类库, 类库要提供execute("insert into ...")/exec ...
- python基础 实战作业 ---Excel基本读写与数据处理
代码地址如下:http://www.demodashi.com/demo/11650.html 看完本篇需要: 10min 作业练习需要: 0.5h~3h(依练习者对python熟悉程度而定) 看完本 ...
- ADO.NET基础开发
ADO.NET是微软新一代.NET数据库的访问架构,ADO是ActiveX Data Objects的缩写.ADO.NET是数据库应用程序和数据源之间沟通的桥梁,主要提供了一个面向对象的数据访问架构, ...
- Spring Cloud Alibaba | Sentinel:分布式系统的流量防卫兵基础实战
Spring Cloud Alibaba | Sentinel:分布式系统的流量防卫兵基础实战 Springboot: 2.1.8.RELEASE SpringCloud: Greenwich.SR2 ...
随机推荐
- 身在上海的她,该不该继续"坚持"前端开发?
作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 一 对于目前的IT行业,我实在不想她还没在这个行业中站稳脚跟就开始有 ...
- 从源码的角度看 React JS 中批量更新 State 的策略(上)
在之前的文章「深入理解 React JS 中的 setState」与 「从源码的角度再看 React JS 中的 setState」 中,我们分别看到了 React JS 中 setState 的异步 ...
- ACM-ICPC 2018 徐州赛区网络预赛 G. Trace-树状数组-区间修改,单点查询
赛后和队友讨论了一波,感谢无敌的队友给我细心的讲题 先埋坑 #include<iostream> #include<string.h> #include<algorith ...
- 牛客OI赛制测试赛-序列-模拟
哇这道题好坑啊,可能是我太菜了 题意就是叫把一个连续序列分成K组,使得每个组的和都相等 我最开始的想法是由于要分成K组,那我们知道,每组一定有sum(a[i])/k这样我们只需要每次当num==sum ...
- cf946d 怎样逃最多的课dp
来源:codeforces D. Timetable Ivan is a student at Berland ...
- swap函数
#include<iostream> using namespace std; void swap(int& a,int& b){ int t=a; a=b; b=t; } ...
- 通过LVM给Linux扩容
主要参考以下两篇文章: 1:https://www.cnblogs.com/sixiweb/p/3360008.html 2:https://wenku.baidu.com/view/42deee1a ...
- Linux CentOS虚拟机网卡配置
最近在VMware安装CentOS6.5之后,每次从宿主机访问虚拟机的Oracle时,都要修改IP地址,因为没有设置虚拟机的IP,所以每次开机之后虚拟机的IP地址都是随机的,于是研究了下给虚拟机配置静 ...
- C++与C的区别
在最开始C++只是C加上了一些面向对象的特性,C++最初的名字为C with Classes.后来C++又提出了一些不同于Class的特性:Exceptions(异常).templates(模板).S ...
- Delphi导出数据的多种方法
//Dxdbgrid,则直接用SaveToexcel即可//使用 ExcelWithOdbc 控件function TDataModule1.GetDataToFile(DsData: TObject ...