using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient; namespace boss
{
class Program
{
static void Main(string[] args)
{
//1、创建数据库连接类
string sql = "server=(local);database=Class0928;user=sa;pwd=123;";//编写连接字符串
SqlConnection conn = new SqlConnection(sql);
//2、创建数据库操作对象,创建过程是与刚创建的连接对象匹配起来
SqlCommand cmd = conn.CreateCommand(); for (; ; )
{
//try
//{
Console.WriteLine("请输入您要执行的操作:1、查看 2、增加数据 3、修改数据 4、删除数据");
int code = int.Parse(Console.ReadLine());
if (code == )
{
cmd.CommandText = "select *from users";
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
Console.WriteLine(dr["ids"] + "\t" + dr["usersname"] + "\t" + dr["password"] + "\t" + dr["nickname"] + "\t" + (Convert.ToBoolean(dr["sex"]) ? "男" : "女") + "\t" + dr["birthday"] + "\t" + dr["nation"] + "\t" + dr["class"]);
}
}
conn.Close();
continue;
}
else if (code == )
{
Console.Write("请输入想要添加的用户名:");
string uname = Console.ReadLine();
cmd.CommandText = "select *from users";
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
int a = ;
if (dr.HasRows)
{
while (dr.Read())
{ //检查是否用户名重复
if (dr["usersname"].ToString() == uname)
{
a++;
break;
}
}
}
conn.Close();
if (a == )//用户名无重复
{
string pwd;
for (; ; )
{
Console.Write("请输入密码:");
string mima = Console.ReadLine();
if (mima != "")
{
pwd = mima;
break;
}
else
{
Console.WriteLine("密码不能为空,请重新输入:");
continue;
}
}
string nick;
for (; ; )
{
Console.Write("请输入昵称:");
string miname = Console.ReadLine();
if (miname != "")
{
nick = miname;
break;
}
else
{
Console.WriteLine("昵称不能为空,请重新输入:");
continue;
}
}
string sex;
for (; ; )
{
Console.Write("请输入性别(男/女): ");
string sex1 = Console.ReadLine();
if (sex1 == "男")
{
sex = "True";
break;
}
else if (sex1 == "女")
{
sex = "False";
break;
}
else
{
Console.WriteLine("输入性别有误,请重新输入:");
continue;
}
}
string bir;
for (; ; )
{
Console.Write("请输入您的生日:");
try //尝试去做,如果有错,从错误的句直接跳转到catch
{
DateTime shengri = DateTime.Parse(Console.ReadLine());
bir = shengri.ToString();
break;
}
catch
{
Console.WriteLine("输入日期格式错误");
continue;
}
}
string nation;
for (; ; )
{
Console.Write("请输入民族:");
string nation1 = Console.ReadLine();
if (nation1 == "汉族")
{
nation = "N001";
break;
}
else if (nation1 == "满族")
{
nation = "N002";
break;
}
else if (nation1 == "藏族")
{
nation = "N003";
break;
}
else if (nation1 == "彝族")
{
nation = "N004";
break;
}
else
{
Console.WriteLine("输入民族有误,请重新输入!");
continue;
}
}
string cla;
for (; ; )
{
Console.Write("请输入班级:");
string banji1 = Console.ReadLine();
if (banji1 == "一班")
{
cla = "C001";
break;
}
else if (banji1 == "二班")
{
cla = "C002";
break;
}
else if (banji1 == "三班")
{
cla = "C003";
break;
}
else if (banji1 == "四班")
{
cla = "C004";
break;
}
else
{
Console.WriteLine("输入班级有误,请重新输入!");
continue;
}
}
cmd.CommandText = "insert into users values('" + uname + "','" + pwd + "','" + nick + "','" + sex + "','" + bir + "','" + nation + "','" + cla + "')";
conn.Open();
int count = cmd.ExecuteNonQuery();
conn.Close();
if (count > )
{
Console.WriteLine("添加成功!");
}
else
{
Console.WriteLine("添加失败!");
} }
else//用户名重复
{
Console.WriteLine("该用户名已存在!");
continue;
}
}
else if (code == )
{
bool has = false;//判断用输入的数据是否存在,true表示存在,false不存在 Console.Write("请输入要修改的用户名:");
string uname = Console.ReadLine();
cmd.CommandText = "select *from users where usersname = '" + uname + "'"; conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows) //如果查到此用户信息
{
has = true;//将中间变量更改为true,证明有此条信息
}
conn.Close();
if (has)//如果有此条信息,那么需要进行删除判断
{
Console.Write("已查到此用户信息,是否要修改?(Y/N)");
string u = Console.ReadLine(); //记录用户的操作
if (u.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(); cmd.CommandText = "update Users set PassWord=@pwd,NickName=@nick,Sex=@sex,Birthday=@bir,Nation=@nation,Class=@cla where UsersName=@uname";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@pwd", pwd);
cmd.Parameters.AddWithValue("@nick", nick);
cmd.Parameters.AddWithValue("@sex", sex);
cmd.Parameters.AddWithValue("@bir", bir);
cmd.Parameters.AddWithValue("@nation", nation);
cmd.Parameters.AddWithValue("@cla", cla);
cmd.Parameters.AddWithValue("@uname", uname); conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
Console.WriteLine("修改成功!");
}
else//用户选择不删除
{
Console.WriteLine("修改取消!");
}
}
else//未查到用户信息,判断has=false
{
Console.WriteLine("用户名输入错误!未查到此用户信息!");
} }
else if (code == )
{
Console.Write("请输入想要删除的用户名:");
string user = Console.ReadLine();
cmd.CommandText = "select ids,UsersName,PassWord,NickName,Sex,Birthday,(select NationName from Nation where NationCode=Users.Nation) as 'Nation' ,ClassName as 'Class' from Users join Class on Class.ClassCode=Users.Class where UsersName='" + user + "'";
conn.Open();
SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows)
{
conn.Close();
//数据存在情况下
Console.WriteLine("查到此数据,是否要执行删除操作,如果要删除请输入:1");
int sr = Convert.ToInt32(Console.ReadLine()); if (sr == )
{
cmd.CommandText = "delete from Users where UsersName='" + user + "'";
conn.Open();
int s = cmd.ExecuteNonQuery();//执行操作,并记录受影响的行数
if (s > )
Console.WriteLine("删除成功。");
else
{
Console.WriteLine("删除失败");
}
}
else
{
Console.WriteLine("取消删除。");
}
}
else
{
//数据不存在
Console.WriteLine("输入的编号错误!");
}
conn.Close();
}
else
{
Console.WriteLine("无此操作序号有误,请重新输入!");
continue;
}
}
//catch
//{
// Console.WriteLine("输入有误,请重新输入!");
// continue;
//}
Console.ReadKey();
}
}
}

ADO.Net 增、删、改、查(综合练习)的更多相关文章

  1. ADO.NET 增 删 改 查

    ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...

  2. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  3. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  4. iOS sqlite3 的基本使用(增 删 改 查)

    iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...

  5. django ajax增 删 改 查

    具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...

  6. MVC EF 增 删 改 查

    using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...

  7. python基础中的四大天王-增-删-改-查

    列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...

  8. django单表操作 增 删 改 查

    一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取出数据. 目的:通过classes(班 ...

  9. 简单的php数据库操作类代码(增,删,改,查)

    这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...

  10. MongoDB增 删 改 查

    增 增加单篇文档 > db.stu.insert({sn:'001', name:'lisi'}) WriteResult({ "nInserted" : 1 }) > ...

随机推荐

  1. Provider Hosted App中使用JOM问题

    在使用SharePoint 2013的JOM时,出现以下问题: ReferenceError: SP is not defined 经反复试验和搜索,得出以下两种方式: 一.直接引用JS文件,引用顺序 ...

  2. 使用Javascript来编写贪食蛇(零基础)

      引用的东西都很基础,注释也很多,这里就不多说了. <head> <meta http-equiv="Content-Type" content="t ...

  3. 关于condition variable的理解

    <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...

  4. eclipse中使用javadoc生成文档

    1.Javadoc command:输入 [jdk路径]\javadoc.exe 2.Extra Javadoc options输入 -windowtitle '标题'-encoding UTF-8 ...

  5. Android 创建一个新的Activity

    本文转载自:http://www.cnblogs.com/wuyudong/p/5658020.html 新建一个项目,创建一个java类,继承自Activity 新建一个Android.xml文件: ...

  6. 【代码笔记】iOS-屏幕旋转

    代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. se ...

  7. iOS文件解压&&数据加密

    一文件压缩.这里我们需要一个第三方SSZipArchive(需要添加libz.td) #import "ViewController.h" #import "SSZipA ...

  8. iOS 使用GCD实现倒计时效果

    在APP开发过程中,经常有需要实现倒计时效果, 比如语音验证码倒计时...代码如下: __block int timeout = 100; dispatch_queue_t queue = dispa ...

  9. 设计模式 之 观察者(Observer)模式

    观察者(observer)模式定义了一对多的依赖关系,让多个观察者对象能够同时监听某一主题对象.这个主题对象中的状态发生改变时,就会通知所有的观察者对象. 观察者模式的结构图: 结构中各个部分的含义: ...

  10. 小试SQL SERVER 2014 加密备份

            数据库加密: http://blog.csdn.net/u012992506/article/details/25283035   create master key encrypti ...