完整修改删除,占位符防治字符串攻击

完整修改删除相对于修改删除就是在修改删除之前先进性判断是否有要进行操作的对象,如果有再进行修改或者删除。也就是在修改删除之前先进行查询。

以修改为例

static void Main(string[] args)

{

bool has = false;//定义一个变量判断是否有该对象

Console.Write("请输入要修改的用户名:");

string Uname = Console.ReadLine();

SqlConnection conn = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123");

SqlCommand cmd = conn.CreateCommand();

cmd.CommandText = "select *from Users where UserName=‘" + Uname + "‘";//进行查询

conn.Open();

SqlDataReader dr = cmd.ExecuteReader();

if (dr.HasRows)

{

has = true;

}

conn.Close();

if (has)

{

Console.WriteLine("已经查到[" + Uname + "]用户信息,请进行修改");

Console.Write("请输入修改后的密码:");

string Pwd = Console.ReadLine();

Console.Write("请输入修改后的昵称:");

string Nname = Console.ReadLine();

Console.Write("请输入修改后的性别:");

string Sex = Console.ReadLine();

Console.Write("请输入修改后的生日:");

string Birthday = Console.ReadLine();

Console.Write("请输入修改后的民族:");

string Nation = Console.ReadLine();

//@key  占位符

cmd.CommandText = " update Users set [email protected],[email protected],[email protected],[email protected],[email protected] where [email protected];";

cmd.Parameters.Clear();

cmd.Parameters.Add("@pwd", Pwd);

cmd.Parameters.Add("@nname",Nname);

cmd.Parameters.Add("@sex", (Sex=="男")?"1":"0");

cmd.Parameters.Add("@bir", Birthday);

cmd.Parameters.Add("@nat", Nation);

cmd.Parameters.Add("@uname", Uname);

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

Console.WriteLine("修改完毕!");

}

else

{

Console.WriteLine("未查到[" + Uname + "]用户信息,请确认用户名输入是否正确!");

}

Console.ReadLine();

}

时间: 2024-10-20 22:02:40

完整修改删除,占位符防治字符串攻击的相关文章

完整修改删除,防止数据库字符串攻击

一.完整修改和查询:中间变量运用. 1.先查 2.执行操作 ----------------------------------------------------二.防止SQL数据库字符串注入攻击:需要使用cmd.Parameters这个集合占位符: @key 代表这个位置用这个占位符占住了 Parameters这个集合中将此占位符所代表的数据补全 cmd.Parameters.Clear(); --添加占位符数据之前,要清空此集合cmd.Parameters.Add("@pwd",

0913 完整修改,删除-实体类-数据操作类

<完整修改删除> 昨天我们使用c#访问数据库会有很多弊端,如果数据库中没有这一条信息也会返回删除成功 今天完整修改删除就会克服这个困难 第一步 需要先查询 #region 查询                Console.WriteLine("学号" + "\t" + "姓名" + "\t" + "性别" + "\t" + "    " + "

js使用占位符替换字符串

js使用占位符替换字符串是一个ES6中的模版字符串语法. 在``中使用 ${} var a = 5; var b = 10; console.log(`Fifteen is ${a + b} and not ${2 * a + b}.`); Fifteen is 15 and not 20.

完整增删改查,数据库字符串攻击

复习一下,基础的增删改查, 增一条信息,删一条信息.改一条信息 询问语句 Console.WriteLine("请输入你的学号"); string xuehao = Console.ReadLine(); Console.WriteLine("请输入你的姓名"); string name = Console.ReadLine(); Console.WriteLine("请输入你的班级"); string banji= Console.ReadLi

Java日志格式应该是占位符还是字符串拼接

背景 ? 上次在群中,有个群友说自己把所有项目中,所有使用占位符打印日志的方式都修改成为了字符串拼接的方式,因为他曾经看了一篇文章,说字符串拼接的形式比占位符形式的性能更好,这个话题引起了大家的广泛讨论. ? 在我印象中,我记得曾经看过的文章说,占位符的方式性能好,因为如果不打日志的话,就不会进行字符串拼接,节省性能.最后抱着一探究竟的心态,我进行了一次日志输出方式的实验. 工具 IDEA + Gradle + JDK 8 + SpringBoot + Junit + Slf4j + logba

SQL与C#结合完整修改 删除信息

--SQl中--建立ren的数据库,插入一条信息 create database ren go use ren go create table xinxi ( code nvarchar(20) primary key,--编号 name nvarchar(20)--名字 ) insert into xinxi values('1001','zhangsan') 在上一遍操作中,有一个BUG,在操作“删改”时,如果用户输错了编号,没有提醒,那么就先要进行查询是否有这个编号的信息,然后再进行操作

ADO.NET 完整修改、删除、防字符串攻击

首先,我先把昨天所做的人事管理系统进行了优化,将其完善成为了一个更符合实际的系统.将修改及删除数据的数据库操作前面添加了一个查询语句,这样,在实际操作时,如果数据库中没有该条数据,则程序不会执行接下来的删除和修改操作,减少了程序的实际工作量.具体代码如下: 删除数据: while (true) { bool has = false; //提示用户需要操作的内容 Console.WriteLine("请输入要删除的用户名:"); string Uname = Console.ReadLi

完整修改和删除以及防字符串注入攻击

完整修改: 1 //1.接收用户输入进来的学生编号 2 Console.Write("请输入要修改的学生编号:"); 3 string Scode = Console.ReadLine(); 4 5 //2.判断有无此学生 6 SqlConnection conn = new SqlConnection("server=.;database=Data0425;user=sa;pwd=123;"); 7 SqlCommand cmd = conn.CreateComm

完整修改查询、字符串攻击

完整修改查询: 输入要删除的用户名,提示有没有此条数据,如果有而后提示是否确定要删除 添加: using System.Data.SqlClient; 而后: namespace 完整修改查询_字符串攻击 { class Program { static void Main(string[] args) { bool has = false;//判断用输入的数据是否存在,true表示存在,false不存在 Console.Write("请输入要删除的用户名:"); string una