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书写一个具有简单增删改查的小实例啦. 实例描述:在数据 ...
随机推荐
- Maven 3.3.3 Win10环境下的使用实例(中)
继上一篇文章介绍了Maven在Windows中的安装,本文将介绍 Maven 的核心概念. POM (Project Object Model) Maven 插件 Maven 生命周期 Maven 依 ...
- winrt反射
第一步引用扩展类. using System.Reflection.IntrospectionExtensions; 第二步反射. gridView是我定义的GridView控件.ItemClick是 ...
- SAP 凭证类别
文章摘要:基本分为收.付.转三类,和传统的会计凭证分类一样.SA,总帐凭证.(转帐凭证)KA,供应商凭证.(付款凭证)KR,应付供应商凭证.(付款凭证)KG,供应商转来的红字发票,SAP称为贷方凭证. ...
- a byte of python(摘04)
a byte of python 第十章 输入/输出 如何使程序和用户进行交互?(用 raw_input 和 print语句来完成) 对于输出,你也可以使用多种多样的 str(字符串)类.使用 rju ...
- CString之GetBuffer与ReleaseBuffer
我们知道,CString是MFC中提供的方便字符串操作的一个类,非常好使,具有自动动态内存管理功能. GetBuffer()主要作用是将字符串的缓冲区长度锁定: ReleaseBuffer()则是解除 ...
- codeforces 336 Div.2 B. Hamming Distance Sum
题目链接:http://codeforces.com/problemset/problem/608/B 题目意思:给出两个字符串 a 和 b,然后在b中找出跟 a 一样长度的连续子串,每一位进行求相减 ...
- 【python】dict4ini和xmltodict模块用途
dict4ini模块:可以读写配置文件 xmltodict模块:将xml和json互相转换 https://pypi.python.org/pypi/xmltodict
- 在某公司时的java开发环境配置文档
1 开发环境配置 1.1. MyEclipse 配置 1.MyEclipse下载地址:\\server\共享文件\backup\MyEclipse9.0 2.修改工作空间编码为UTF-8,如下图 3 ...
- IIS7.0提示---无法识别的属性“targetFramework”。请注意属性名称区分大小写。
当我把我做的网站放在IIS7.0的服务器上的时候,浏览时提示这个错误信息 配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件. 分析器错误消 ...
- 统计 F-test 和 T-test
1 显著性差异 如果样本足够大,很容易有显著性差异.样本小,要有显著性差异很难. y是因变量,x是自变量 2 F-test与T-test Ftest也称ANOVA,是用来检测一个y下的不同level的 ...