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.破坏页面结构.重定向到其它网站):过滤<,>&,"等特殊 ...
随机推荐
- Java Server returned HTTP response code: 401
今天写一个小功能需要通过http请求获取一些返回数据,但是在登陆时是需要进行用户名和密码的校验的.写好之后请求,返回异常Java Server returned HTTP response code: ...
- Android的图片缓存ImageCache(转)
为什么要做缓存? 在UI界面加载一张图片时很简单,然而如果需要加载多张较大的图像,事情就会变得更加复杂.在许多情况下(如ListView.GridView或ViewPager等的组件),屏 ...
- 传引用 C(转)
转自:http://myturn.blog.hexun.com/15584978_d.html #include <iostream> using namespace std ; void ...
- POJ 2114 Boatherds 树分治
Boatherds Description Boatherds Inc. is a sailing company operating in the country of Trabantust ...
- ubuntu12.04 安装eclipse
1:去官网下载最新版的eclipse for linux; 2:cd /usr/local 用命令 sudo mkdir eclipse 建立一个Eclipse的目录 3:将下载的文件copy到ec ...
- T-SQL 高级查询
基本常用查询 --select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 selec ...
- 【hibernate 执行方法未插入数据库】hibernate的save方法成功执行,但是未插入到数据库
今天做项目,碰上这个问题: hibernate的save方法成功执行,但是未插入到数据库. Dao层代码: @Override public void save(T t) { this.getSess ...
- ps命令使用 进程查看
ps命令是Process Status的缩写 用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命 ...
- Uva674 完全背包求方案数
记忆化搜索.注意输入n的位置,否则Tle. dp[i][j]表示用前j种硬币组成i分钱时的种类数 那么状态转移方程是:dp[i][j]+=DP(i-k*v[j],j-1) #include<io ...
- Android定位方式和测试方法
Android常用的三种定位方式有:基于GPS定位.基于基站地位.基于wifi定位. 1.基于GPS定位: GPS定位需要GPS模块(硬件)的支持,没有GPS模块是无法进行GPS定位的. GPS定位最 ...