using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient; namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
//创建数据库连接对象,并编写连接字符串,注意连接字符串不要写错
SqlConnection conn = new SqlConnection("server=.;database=Data0928;user=sa;pwd=123");
//创建数据库操作对象,创建过程是与刚创建的连接对象匹配起来
SqlCommand cmd = conn.CreateCommand();
for (; ; )
{
Console.Write("请输入你想要的操作序号(1、删除 2、添加 3、更改 4、查看)");
try
{ int code = int.Parse(Console.ReadLine());
if (code == )
{
//删除
Console.Write("请输入想要删除的用户名:");
string user = Console.ReadLine();
//编写操作语句 TSQL语句
cmd.CommandText = "select ids,UserName,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 UserName='" + user + "'";
//数据库连接打开,准备执行操作
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();//使用SqlDataReader类接受查询的数据
if (dr.HasRows)//判断dr里是否有数据 返回布尔类型
{
while (dr.Read())//循环每一行 当超出时返回false
{
Console.WriteLine(dr["ids"] + "\t" + dr["UserName"] + "\t" + dr["PassWord"] + "\t" + dr["NickName"] + "\t" + (Convert.ToBoolean(dr["Sex"]) ? "男" : "女") + "\t" + Convert.ToDateTime(dr["Birthday"]).ToString("yyyy年MM月dd日") + "\t" + dr["Nation"] + "\t" + dr["Class"]);
}
//关闭数据库连接
conn.Close();
Console.Write("是否确定删除此条数据?(Y/N)");
string yn = Console.ReadLine();
if (yn == "y")
{
cmd.CommandText = "delete from Users where UserName='" + user + "'";
conn.Open();
int i = cmd.ExecuteNonQuery();//执行操作,并记录受影响的行数
if (i > )
Console.WriteLine("删除成功。");
else
{
Console.WriteLine("删除失败");
}
conn.Close();
}
else if (yn == "n")
{
Console.WriteLine("取消删除。");
}
else
{
Console.WriteLine("输入有误!");
}
}
else
{
Console.WriteLine("查无此条数据!");
}
conn.Close();
}
else if (code == )
{
//添加
Console.Write("请输入想要添加的用户名:");
string uname = Console.ReadLine();
cmd.CommandText = "select * from Users";
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
int biao = ;
//查询用户名是否重复
if (dr.HasRows)
{
while (dr.Read())
{
if (dr["UserName"].ToString() == uname)
{
biao++;
break;
}
}
}
conn.Close();
if (biao == )//用户名无重复
{
string pwd;
for (; ; )
{
Console.Write("请输入密码(6到18位):");
string pwd1 = Console.ReadLine();
if (pwd1.Length >= && pwd1.Length <= )
{
pwd = pwd1;
break;
}
else
{
Console.WriteLine("密码长度不正确,请重新输入!");
continue;
}
}
Console.Write("请输入昵称:");
string nick = Console.ReadLine();
string sex;
for (; ; )
{
Console.Write("请输入性别(请输入男女或者0、1):");
string sex1 = Console.ReadLine();
if(sex1==""||sex1=="")
{
sex = sex1;
break;
}
else if (sex1 == "男" || sex1 == "女")
{
if (sex1 == "男")
{
sex = "";
break;
}
else
{
sex = "";
break;
}
}
else
{
Console.WriteLine("性别输入有误,请重新输入!");
continue;
}
}
string bir;
for (; ; )
{
Console.Write("请输入生日:");
try
{
DateTime dt = DateTime.Parse(Console.ReadLine());
bir = dt.ToString();
break;
}
catch
{
Console.WriteLine("生日日期输入有误,请重新输入!");
continue;
}
}
string nation;
for (; ; )
{
Console.Write("请输入民族:");
string nation1 = Console.ReadLine();
if(nation1=="汉族"||nation1=="汉")
{
nation = "N001";
break;
}
else if (nation1 == "满族" || nation1 == "满")
{
nation = "N002";
break;
}
else if (nation1 == "藏族" || nation1 == "藏")
{
nation = "N003";
break;
}
else if (nation1 == "彝族" || nation1 == "彝")
{
nation = "N004";
break;
}
else
{
Console.WriteLine("输入民族有误,请重新输入!");
continue;
}
}
string cla;
for (; ; )
{
Console.Write("请输入班级:");
string cla1 = Console.ReadLine();
if(cla1=="一班"||cla1=="一")
{
cla = "C001";
break;
}
else if (cla1 == "二班" || cla1 == "二")
{
cla = "C002";
break;
}
else if (cla1 == "三班" || cla1 == "三")
{
cla = "C003";
break;
}
else if (cla1 == "四班" || cla1 == "四")
{
cla = "C004";
break;
}
else
{
Console.WriteLine("输入班级有误,请重新输入!");
continue;
}
}
cmd.CommandText = "insert into Users values('" + uname + "','" + pwd + "','" + nick + "','" + sex + "','" + bir + "','" + nation + "','" + cla + "')";
conn.Open();
int s = cmd.ExecuteNonQuery();
if (s > )
{
Console.WriteLine("添加成功!");
}
else
{
Console.WriteLine("添加失败!");
}
conn.Close();
}
else//用户名重复
{
Console.WriteLine("该用户名已存在!");
}
}
else if(code==)
{
//更改
Console.Write("请输入想要更改的用户名:");
string user = Console.ReadLine();
cmd.CommandText = "select ids,UserName,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 UserName='" + user + "'";
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
Console.WriteLine(dr["ids"] + "\t" + dr["UserName"] + "\t" + dr["PassWord"] + "\t" + dr["NickName"] + "\t" + (Convert.ToBoolean(dr["Sex"]) ? "男" : "女") + "\t" + Convert.ToDateTime(dr["Birthday"]).ToString("yyyy年MM月dd日") + "\t" + dr["Nation"] + "\t" + dr["Class"]);
}
conn.Close();
Console.Write("是否更改此条数据?(Y/N)");
string yn = Console.ReadLine();
if (yn == "y")
{
string pwd;
for (; ; )
{
Console.Write("请输入密码(6到18位):");
string pwd1 = Console.ReadLine();
if (pwd1.Length >= && pwd1.Length <= )
{
pwd = pwd1;
break;
}
else
{
Console.WriteLine("密码长度不正确,请重新输入!");
continue;
}
}
Console.Write("请输入昵称:");
string nick = Console.ReadLine();
string sex;
for (; ; )
{
Console.Write("请输入性别(请输入男女或者0、1):");
string sex1 = Console.ReadLine();
if (sex1 == "" || sex1 == "")
{
sex = sex1;
break;
}
else if (sex1 == "男" || sex1 == "女")
{
if (sex1 == "男")
{
sex = "";
break;
}
else
{
sex = "";
break;
}
}
else
{
Console.WriteLine("性别输入有误,请重新输入!");
continue;
}
}
string bir;
for (; ; )
{
Console.Write("请输入生日:");
try
{
DateTime dt = DateTime.Parse(Console.ReadLine());
bir = dt.ToString();
break;
}
catch
{
Console.WriteLine("生日日期输入有误,请重新输入!");
continue;
}
}
string nation;
for (; ; )
{
Console.Write("请输入民族:");
string nation1 = Console.ReadLine();
if (nation1 == "汉族" || nation1 == "汉")
{
nation = "N001";
break;
}
else if (nation1 == "满族" || nation1 == "满")
{
nation = "N002";
break;
}
else if (nation1 == "藏族" || nation1 == "藏")
{
nation = "N003";
break;
}
else if (nation1 == "彝族" || nation1 == "彝")
{
nation = "N004";
break;
}
else
{
Console.WriteLine("输入民族有误,请重新输入!");
continue;
}
}
string cla;
for (; ; )
{
Console.Write("请输入班级:");
string cla1 = Console.ReadLine();
if (cla1 == "一班" || cla1 == "一")
{
cla = "C001";
break;
}
else if (cla1 == "二班" || cla1 == "二")
{
cla = "C002";
break;
}
else if (cla1 == "三班" || cla1 == "三")
{
cla = "C003";
break;
}
else if (cla1 == "四班" || cla1 == "四")
{
cla = "C004";
break;
}
else
{
Console.WriteLine("输入班级有误,请重新输入!");
continue;
}
}
cmd.CommandText = "update User set Password='"+pwd+"',NickName='"+nick+"',Sex="+sex+",Birthday='"+bir+"',Nation='"+nation+"',Class='"+cla+"' where UserName='" + user + "'";
conn.Open();
int i = cmd.ExecuteNonQuery();//执行操作,并记录受影响的行数
if (i > )
Console.WriteLine("更改成功。");
else
{
Console.WriteLine("更改失败");
}
conn.Close();
}
else if (yn == "n")
{
Console.WriteLine("取消更改。");
}
else
{
Console.WriteLine("输入有误!");
}
}
else
{
Console.WriteLine("查无此条数据!");
}
conn.Close();
}
else if(code==)
{
//查看
Console.Write("请输入想要查看的用户名(输入*代表查看全部):");
string user = Console.ReadLine();
if (user != "*")
{
cmd.CommandText = "select ids,UserName,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 UserName='" + user + "'";
}
else
{
cmd.CommandText = "select ids,UserName,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";
}
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
Console.WriteLine(dr["ids"] + "\t" + dr["UserName"] + "\t" + dr["PassWord"] + "\t" + dr["NickName"] + "\t" + (Convert.ToBoolean(dr["Sex"]) ? "男" : "女") + "\t" + Convert.ToDateTime(dr["Birthday"]).ToString("yyyy年MM月dd日") + "\t" + dr["Nation"] + "\t" + dr["Class"]);
}
conn.Close();
}
else
{
Console.WriteLine("查无此条数据!");
}
conn.Close();
}
else
{
Console.WriteLine("无此操作序号有误,请重新输入!");
continue;
}
}
catch
{
Console.WriteLine("输入有误,请重新输入!");
continue;
}
}
}
}
}

ado.net增删改查练习的更多相关文章

  1. Ado.net[增删改查,GET传值]

    1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Home.aspx.c ...

  2. ADO.NET 增删改查的基本用法

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

  3. LinQ和ADO.Net增删改查 备忘

    是否些倦了 SqlConnection conn=new SqlConnection();一系列繁冗的代码? 来试试Linq吧 查: using System.Data.SqlClient; name ...

  4. ADO.net 增删改查

    ADO.net 一.定义:编程开发语言与数据库连接的一门语言技术 二.链接: 在vs中操作数据库需在开头进行链接 链接内容:using System.Data.SqlClient 三.引用数据库: 四 ...

  5. ado.net增删改查操作

    ado.net是数据库访问技术将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层最基础的数据库访问技术 使用ado.net对数据 ...

  6. ADO.net 增删改查封装DBhelper

    using System; using System.Collections.Generic; using System.Data.SqlClient;//引用数据库客户端 using System. ...

  7. Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新]

    [虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试] 一.增删改查 cmd.ExecuteReader();执行查询, ...

  8. ado.net C#如何实现数据库增删改查

    ado.net数据库访问技术将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层的数据库访问技术也就是说是最麻烦但是是最不可缺少的 ...

  9. ado.net的简单数据库操作(三)——简单增删改查的实际应用

    果然,在犯困的时候就该写写博客,写博客就不困了,哈哈! 上篇我记录了自己的SqlHelper的开发过程,今天记录一下如何使用这个sqlhelper书写一个具有简单增删改查的小实例啦. 实例描述:在数据 ...

随机推荐

  1. 初次使用 VUX

    1. 因为以前没用过vux ,所以还是比较不熟练: 2.项目部署是根据git上的源码改的: 开始:将git上的项目下载或者clone到本地: 001:安装nodejs--> 002:npm in ...

  2. 【leetcode】Search in Rotated Sorted Array II(middle)☆

    Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...

  3. 【HOG】

    http://blog.csdn.net/masibuaa/article/details/12917961 把这份资料大概看完了 大概了解Hog了

  4. ios 中清除webView的缓存

    在UIWebView下,可以使用 [[NSURLCache sharedURLCache] removeAllCachedResponses];//清除缓存 来实现清除缓存,但当替换使用WKWebVi ...

  5. IOS- 数据存储

    在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题.将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好.下面介绍一下数据保存的方式: 1.NSKeyed ...

  6. 导出 SQL SERVER 表中数据为脚本

    ALTER PROCEDURE [dbo].[Usp_OutputData] @tablename sysname, @outputIdentitycolumn int AS declare @col ...

  7. August 14th, Week 34th Sunday, 2016

    To live is to function, that is all there is in living. 活着就要发挥作用,这就是生活的全部内容. I often joke that my dr ...

  8. 靶形数独(codevs 1174)

    1174 靶形数独 2009年NOIP全国联赛提高组  时间限制: 4 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Descri ...

  9. SQLServer触发器

    触发器的作用: 自动化操作,减少了手动操作以及出错的几率. 触发器是一种特殊类型的存储过程,它不同于前面介绍过的一般的存储过程. [在SQL内部把触发器看做是存储过程但是不能传递参数] 一般的存储过程 ...

  10. html+css+js实现标签页切换

    CSS部分: #Tab { margin:0 auto; width:640px; border:none; position:absolute; z-index:9; margin-left:320 ...