什么是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用户输入的内容,输入什么就是什么,不会被当成代码执行