ado.net增删改查练习
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增删改查练习的更多相关文章
- Ado.net[增删改查,GET传值]
1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Home.aspx.c ...
- ADO.NET 增删改查的基本用法
ADO.NET:数据访问技术 就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中也可以将数据库中的数据提取到内存中供程序调用 所有数据访问技术的基础 连接 ...
- LinQ和ADO.Net增删改查 备忘
是否些倦了 SqlConnection conn=new SqlConnection();一系列繁冗的代码? 来试试Linq吧 查: using System.Data.SqlClient; name ...
- ADO.net 增删改查
ADO.net 一.定义:编程开发语言与数据库连接的一门语言技术 二.链接: 在vs中操作数据库需在开头进行链接 链接内容:using System.Data.SqlClient 三.引用数据库: 四 ...
- ado.net增删改查操作
ado.net是数据库访问技术将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层最基础的数据库访问技术 使用ado.net对数据 ...
- ADO.net 增删改查封装DBhelper
using System; using System.Collections.Generic; using System.Data.SqlClient;//引用数据库客户端 using System. ...
- Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新]
[虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试] 一.增删改查 cmd.ExecuteReader();执行查询, ...
- ado.net C#如何实现数据库增删改查
ado.net数据库访问技术将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层的数据库访问技术也就是说是最麻烦但是是最不可缺少的 ...
- ado.net的简单数据库操作(三)——简单增删改查的实际应用
果然,在犯困的时候就该写写博客,写博客就不困了,哈哈! 上篇我记录了自己的SqlHelper的开发过程,今天记录一下如何使用这个sqlhelper书写一个具有简单增删改查的小实例啦. 实例描述:在数据 ...
随机推荐
- (转载)让XCode运行时自动更新资源
转自http://goldlion.blog.51cto.com/4127613/1351616 用过XCode的人都知道,XCode有一个臭名昭著的bug——除非你修改了源代码造成了重新编译,否则游 ...
- 解决 vs2010 联接sql 2005 时 报错未能加载文件或程序集“Microsoft.SqlServer.Management.Sdk.Sfc
http://blogs.msdn.com/b/sqlnativeclient/archive/2008/05/30/sqlncli-msi-for-sql-server-2008.aspx 关键是这 ...
- Divide and conquer:K Best(POJ 3111)
挑选最美的珠宝 题目大意:挑选k个珠宝使得∑a/∑b最大,输出组合数 最大化平均值的标准题型,二分法就好了,一定要注意范围(10e-7),如果是10e-8就会tle,10e-6就是wa #inclu ...
- 使用iScroll时,input等不能输入内容的解决方法
做移动平台的应用,使用iscroll使屏幕上下滑动.发现当使用iscroll后,input等不能输入内容了.只要在iscroll.js文件中加入如下代码就ok了. function allowForm ...
- ssm控制输出sql(二)
望时高科联通log4j # DEBUG,INFO,WARN,ERROR,FATAL LOG_LEVEL=DEBUG ---------这里对应sql的级别 log4j.rootLogger=${LOG ...
- WP开发资源
wp开发:连续两次点击返回键退出程序的设计: http://hi.baidu.com/youngytj/item/6be317719cc371306cc37ce4 X http://www.cnblo ...
- 【linux】find删除指定时间之前的文件
今天磁盘满了,想删掉一些老的日志文件.开始想写个python脚本,转念一想,可能shell脚本好点.结果发现,根本不用写脚本,一个find指令就可以解决问题了. 先上指令 -exec rm {} \; ...
- java中方法参数的一些总结(1)
1.问题说明 在C++中,函数调用时有传值调用和传址调用两种方式,但在Java中只有传值调用一种方式.Java中的方法参数为那几种基本数据类型的情况跟C++中一样,传入的只是变量的拷贝. ...
- xp系统打开软件程序总是弹出警告窗口,很烦人对不,怎么办呢?进来看
为了不浪费比较着急的朋友的的时间,先把解决方案说了,下面我在细说: 细说: 今天装了个xp的虚拟机,为了不在xp里重复装真机(win7的)里已经有的软件,就把我的工具盘共享给了虚拟机,大部分软件都可以 ...
- 解决ERROR 2003 (HY000): Can't connect to MySQL server on
方案一: .打开cmd; .输入命令:net stop +MySQL的服务名,停止MySQL服务,如果未启动MySQL服务则可跳过该步骤: .输入命令:mysqld --remove卸载MySQL服务 ...