ado.net 完整修改删除,攻击防攻击
完整修改和删除:
当你输入了要删除的用户名,先提示有没有此条数据
先查
后删/后改
------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient; namespace 完整删除_修改_攻击防攻击
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入要删除的用户名:");
string name = Console.ReadLine(); SqlConnection conn = new SqlConnection("server=.;database=Data1128;user=sa;pwd=123");
SqlCommand com = conn.CreateCommand();
com.CommandText = "select *from Users where usename='"+name+"'"; conn.Open();
SqlDataReader dr=com.ExecuteReader();
if (dr.HasRows)//如果查到此用户信息
{
Console.Write("是否删除该用户:(Y/N)");//如果有此条信息,那么需要进行删除判断
string n = Console.ReadLine();//记录用户的操作
if (n.ToUpper() == "Y")//判断用户操作,如果是Y,说明要删除
{
conn.Close();
//下面的代码是真正删除此条数据
com.CommandText="delete from Users where usename='"+name+"'"; int i = ;
try
{
conn.Open();
i = com.ExecuteNonQuery();
}
catch
{
Console.WriteLine("连接服务器失败!!");
}
finally
{
conn.Close();
}
if (i > )//判断是否删除成功
{
Console.WriteLine("删除成功!");
com.CommandText = "select *from Users";//查询所有用户信息
conn.Open();
SqlDataReader dr1 = com.ExecuteReader();
if (dr1.HasRows)//判断是否有用户信息
{
while (dr1.Read())//判断是否有下一行,若有直接打印
{
Console.WriteLine(dr1["code"] + "\t" + dr1["usename"] + "\t" + dr1["password"] + "\t" + dr1["nick"] + "\t" + (Convert.ToBoolean(dr1["sex"]) ? "男" : "女") + "\t" + dr1["nation"] + "\t" + dr1["class"] + "\t" + (Convert.ToDateTime(dr1["birthday"]).ToShortDateString()));
}
}
else//无用户信息
{
Console.WriteLine("无数据!!");
}
conn.Close();
}
else
{
Console.WriteLine("删除失败!");
}
}
else//用户选择不删除
{
Console.WriteLine("删除操作取消!!");
}
}
else//未查到用户信息
{
Console.WriteLine("用户名输入错误!!");
} conn.Close();
Console.ReadLine(); }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient; namespace update
{
class Program
{
static void Main(string[] args)
{
bool has = false;//设置一中间变量判断用输入的数据是否存在,true表示存在,false不存在 Console.Write("请输入要修改的用户名:");
string name = Console.ReadLine(); SqlConnection conn = new SqlConnection("server=.;database=Data1128;user=sa;pwd=123");
SqlCommand com = conn.CreateCommand();
com.CommandText = "select *from Users where usename='"+name+"'"; conn.Open();
SqlDataReader dr = com.ExecuteReader();
if (dr.HasRows)//如果查到此用户信息
{
has = true;//将中间变量更改为true,证明有此条信息
if(dr.Read())//输出修改前要修改的用户的信息
{
Console.WriteLine(dr["code"]+"\t"+dr["usename"]+"\t"+dr["password"]+"\t"+dr["nick"]+"\t"+(Convert.ToBoolean(dr["sex"])?"男":"女")+"\t"+dr["nation"]+"\t"+dr["class"]+"\t"+(Convert.ToDateTime(dr["birthday"]).ToShortDateString()));
}
}
conn.Close();
if (has)
{
Console.Write("已查到此用户信息,是否要修改?(Y/N)");
string mm = Console.ReadLine(); //记录用户的操作
if (mm.ToUpper() == "Y")//判断用户操作,如果是Y,说明要修改
{
Console.Write("请输入要修改的密码:");
string pwd = Console.ReadLine();
Console.Write("请输入要修改的昵称:");
string nick = Console.ReadLine();
Console.Write("请输入要修改的性别:");
string sex = Console.ReadLine();
Console.Write("请输入要修改的生日:");
string bir = Console.ReadLine();
Console.Write("请输入要修改的民族:");
string nation = Console.ReadLine();
Console.Write("请输入要修改的班级:");
string cla = Console.ReadLine();
//防攻击
com.CommandText = "update Users set PASSWORD=@pwd,nick=@nick,sex=@sex,nation=@nation,class=@cla,birthday=@bir where usename=@name";
com.Parameters.Clear();
com.Parameters.AddWithValue("@pwd", pwd);
com.Parameters.AddWithValue("@nick", nick);
com.Parameters.AddWithValue("@sex", sex);
com.Parameters.AddWithValue("@nation", nation);
com.Parameters.AddWithValue("@cla", cla);
com.Parameters.AddWithValue("@name", name);
com.Parameters.AddWithValue("@bir", bir); int i = ;
try
{
conn.Open();
i = com.ExecuteNonQuery();
}
catch(Exception ex)
{
Console.WriteLine("未连接到服务器!\n"+ex);
}
finally
{
conn.Close();
}
if (i > )
{
Console.WriteLine("修改成功!");
com.CommandText = "select code,usename,password,nick,sex,(select nationname from Nation where nationcode=Users.nation) as 民族,(select classname from Class where classcode=Users.class) as 班级,birthday from Users where usename='" + name + "'";
conn.Open();
SqlDataReader dr1 = com.ExecuteReader();
if(dr1.HasRows)
{
while (dr1.Read())//输出修改后用户的信息
{
Console.WriteLine(dr1["code"] + "\t" + dr1["usename"] + "\t" + dr1["password"] + "\t" + dr1["nick"] + "\t" + (Convert.ToBoolean(dr1["sex"]) ? "男" : "女") + "\t" + dr1["民族"] + "\t" + dr1["班级"] + "\t" + (Convert.ToDateTime(dr1["birthday"]).ToShortDateString()));
}
}
conn.Close();
}
else
{
Console.WriteLine("修改失败!!");
}
}
else//用户选择不修改
{
Console.WriteLine("取消修改!");
}
}
else//未查到用户信息,判断has=false
{
Console.WriteLine("无此用户!!");
}
Console.ReadLine(); }
}
}
ado.net 完整修改删除,攻击防攻击的更多相关文章
- ADO.NET(完整修改和查询、实体类,数据访问类)
一.完整修改和查询 在编写c#语句时需考虑到用户体验,例如在编写修改语句时,需要考虑到输入的内容在数据库中是否能够找到. 中间变量运用. 1.先查 2.执行操作 完整修改语句: bool has = ...
- ADO.NET 完整修改、删除、防字符串攻击
首先,我先把昨天所做的人事管理系统进行了优化,将其完善成为了一个更符合实际的系统.将修改及删除数据的数据库操作前面添加了一个查询语句,这样,在实际操作时,如果数据库中没有该条数据,则程序不会执行接下来 ...
- SQL与C#结合完整修改 删除信息
--SQl中--建立ren的数据库,插入一条信息 create database ren go use ren go create table xinxi ( code ) primary key,- ...
- ADO.NET 完整的修改和删除
namespace 完整修改{ class Program { static void Main(string[] args) { bool has = false; Console.Write(&q ...
- php防攻击方法
php防攻击方法 更多答案 请参考 @如何有效防止XSS攻击/AJAX跨域攻击 我说下防止非法用户的一些常用手段吧 1 前端的js验证: 我认为js验证只是一种用户体验的提升,对普通用户群体的简单 ...
- Node.JS实战36:写一个WAF中间件!防黑客,防攻击
如果用Node.JS做Web服务,很多时候是会选择Express的. 本文,将展示如何如何实现一个WAF中间件. WAF有什么用? WAF即Web Application Firewall,Web应用 ...
- PHP禁止同一IP频繁访问以防止网站被防攻击或采集的代码
PHP禁止同一IP频繁访问以防止网站被防攻击或采集的代码 <?php /* *通过禁止IP频繁访问防止网站被防攻击代码*design by www.scutephp.com*/header('C ...
- boot+Xss防攻击的处理方案
以下是boot+Xss防攻击的(解决处理JSON入参)处理方案,第二个亲测有效 https://www.jianshu.com/p/3e4b00b8ff3ahttps://www.jianshu.co ...
- php防攻击
客户端脚本植入 XSS跨站脚本攻击(跨站脚本攻击,输入(传入)自动执行恶意的HTML代码,如盗取用户Cookie.破坏页面结构.重定向到其它网站):过滤<,>&,"等特殊 ...
随机推荐
- jquery audio player
<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8&quo ...
- [UI]实用案例--Shape绘制实用圆圈
Android允许通过xml定义资源,常见的事string,id,integer,dimen等,也可以定义一些图片资源,比如用来做几何的矢量图就非常好用,其中有许多的细节问题,具体需求可以再结合goo ...
- 转载 linux内核 asmlinkage宏
转载http://blog.chinaunix.net/uid-7390305-id-2057287.html 看一下/usr/include/asm/linkage.h里面的定义:#define a ...
- 数据库分库分表sharding1
sharding Vertical Sharding 把数据分散到多台物理机(我们称之为Shard) 实现Sharding需要解决一系列关键的技术问题,这些问题主要包括:切分策略.节点路由.全局主键生 ...
- MVC3实现多个按钮提交
有时我们需要在同一个Form表单中进行多个按钮的提交,来完成不同的功能.因为MVC中一个表单默认只能提交到一个Action处理,相对比较麻烦. 1.使用客户端脚本 我们可以view中加上如下代码: & ...
- 为什么网页通常把JS调用放在底部?
JS是单线程,浏览器是多线程.当我们在浏览器的地址栏里输入一个url地址,访问新页面时,页面展示的快慢是由一个单线程控制,这个线程叫做UI线程.UI线程会根据页面里资源(资源是html文件.图片.cs ...
- wpf,ListBox,ScrollViewer内容向左向右偏移指定位置
public partial class Example : UserControl { private ScrollViewer myScrollViewer; public Example() { ...
- Mac 显示 Finder 隐藏文件
显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏Mac隐藏文件的命令:defaults writ ...
- Java NIO示例:多人网络聊天室
一个多客户端聊天室,支持多客户端聊天,有如下功能: 功能1: 客户端通过Java NIO连接到服务端,支持多客户端的连接 功能2:客户端初次连接时,服务端提示输入昵称,如果昵称已经有人使用,提示重新输 ...
- Android系统中的6种模式
Android系统中的6种模式 1:一般启动模式(normal mode): 功能是正常启动手机,方法为关机状态下按电源键启动. 2:安全模式(safe mode): 此模式和正常启动一样 ...