完整修改和删除:
当你输入了要删除的用户名,先提示有没有此条数据

先查

后删/后改
------------

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 完整修改删除,攻击防攻击的更多相关文章

  1. ADO.NET(完整修改和查询、实体类,数据访问类)

    一.完整修改和查询 在编写c#语句时需考虑到用户体验,例如在编写修改语句时,需要考虑到输入的内容在数据库中是否能够找到. 中间变量运用. 1.先查 2.执行操作 完整修改语句: bool has = ...

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

    首先,我先把昨天所做的人事管理系统进行了优化,将其完善成为了一个更符合实际的系统.将修改及删除数据的数据库操作前面添加了一个查询语句,这样,在实际操作时,如果数据库中没有该条数据,则程序不会执行接下来 ...

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

    --SQl中--建立ren的数据库,插入一条信息 create database ren go use ren go create table xinxi ( code ) primary key,- ...

  4. ADO.NET 完整的修改和删除

    namespace 完整修改{ class Program { static void Main(string[] args) { bool has = false; Console.Write(&q ...

  5. php防攻击方法

    php防攻击方法   更多答案 请参考 @如何有效防止XSS攻击/AJAX跨域攻击 我说下防止非法用户的一些常用手段吧 1 前端的js验证: 我认为js验证只是一种用户体验的提升,对普通用户群体的简单 ...

  6. Node.JS实战36:写一个WAF中间件!防黑客,防攻击

    如果用Node.JS做Web服务,很多时候是会选择Express的. 本文,将展示如何如何实现一个WAF中间件. WAF有什么用? WAF即Web Application Firewall,Web应用 ...

  7. PHP禁止同一IP频繁访问以防止网站被防攻击或采集的代码

    PHP禁止同一IP频繁访问以防止网站被防攻击或采集的代码 <?php /* *通过禁止IP频繁访问防止网站被防攻击代码*design by www.scutephp.com*/header('C ...

  8. boot+Xss防攻击的处理方案

    以下是boot+Xss防攻击的(解决处理JSON入参)处理方案,第二个亲测有效 https://www.jianshu.com/p/3e4b00b8ff3ahttps://www.jianshu.co ...

  9. php防攻击

    客户端脚本植入 XSS跨站脚本攻击(跨站脚本攻击,输入(传入)自动执行恶意的HTML代码,如盗取用户Cookie.破坏页面结构.重定向到其它网站):过滤<,>&,"等特殊 ...

随机推荐

  1. jQuery Mobile Datepicker 使用

    插件引入文件: <meta name="viewport" content="width=device-width, initial-scale=1"&g ...

  2. Java中的wait和sleep

    sleep()和wait() 首先,Java中的多线程是一种抢占式的机制,而不是分时机制.抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行. 这种机制决定了,对于同一对象的多线程访问,必 ...

  3. Android:dimen尺寸资源文件的使用(转)

    为了适配不同的分辨率. dimen.xml在values文件夹下面 <resources> <!-- Default screen margins, per the Android ...

  4. opacity

    .css{filter:alpha(opacity:30);/*filter是给IE用到*/opacity:.3; }

  5. Android常用控件之GridView与ExpandableListView的用法

    概述 1.GridView:与ListView相比,可以显示多列,xml布局时其属性numColumns可以设置显示的列数. 2.ExpandableListView:与ListView相比,可以让每 ...

  6. HTML meta viewport属性说明(mark)

    什么是Viewport 手机浏览器是把页面放在一个虚拟的“窗口”(viewport)中,通常这个虚拟的“窗口”(viewport)比屏幕宽,这样就不用把每个网页挤 到很小的窗口中(这样会破坏没有针对手 ...

  7. 在CSDN中添加友情连接

    <a bref='http://www......'>友情连接</a><br/> <a bref='http://www......'>友情连接2< ...

  8. 深入剖析Java中的装箱和拆箱

    深入剖析Java中的装箱和拆箱 自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就来一些看一下装箱和拆箱中的若干问题.本文先讲述装箱和拆箱最基本的东西,再来看一下面试笔试中经常遇到的与装箱 ...

  9. iOS10 UI设计基础教程

    iOS10 UI设计基础教程 介绍:本教程针对iOS初级开发人员,基于iOS 10系统,使用Swift 3.0语言讲解如何进行UI设计.本教程内容涵盖UI基础构成.UI元素.自动布局.自适应UI.UI ...

  10. jquery mousewheel

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js&quo ...