2016年11月28日--ADO.Net 查、插、删、改 小练习

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;

namespace ConsoleApplication1
{
    class Program
    {
        /// <summary>
        /// 执行TSQL语句
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public int zhixing(string str)
        {
            conn.Open();
            try
            {
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = str;
                int i = cmd.ExecuteNonQuery();
            conn.Close();
                return i;
            }
            catch (Exception ex) { Console.WriteLine(ex.Message);
            conn.Close(); return 0; }
        }
        static SqlConnection conn = new SqlConnection("server=.;database=Data0928;user=sa;pwd=123");

        /// <summary>
        /// 判断数据输入是否有误
        /// </summary>
        /// <param name="id">1:密码 2:昵称 3:性别 4:生日 5:民族 6:班级</param>
        /// <returns></returns>
        public string panduan(int id)
        {
            switch (id)
            {
                case 1:
                    //密码
                    for (; ; )
                    {
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.Write("请输入密码:");
                        string napw = Console.ReadLine();
                        if (napw != "")
                            return napw;
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("该字段不能为空");
                        }
                    }
                case 2:
                    //昵称
                    for (; ; )
                    {
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.Write("请输入昵称:");
                        string napw = Console.ReadLine();
                        if (napw != "")
                            return napw;
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("该字段不能为空");
                        }
                    }
                case 3:
                    //性别
                    for (; ; )
                    {
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.Write("请输入性别:");
                        string sex = Console.ReadLine();
                        if (sex != "")
                        {
                            if (sex == "True" || sex == "true" || sex == "男" || sex == "1" || sex == "雄")
                                return "True";
                            else if (sex == "False" || sex == "false" || sex == "女" || sex == "0" || sex == "雌")
                                return "False";
                            else
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine("性别输入有误");
                            }
                        }
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("该字段不能为空");
                        }
                    }
                case 4:
                    //生日
                    for (; ; )
                    {
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.Write("请输入生日:");
                        try   //尝试去做,如果有错,从错误的句直接跳转到catch
                        {
                            DateTime zhi = DateTime.Parse(Console.ReadLine());
                            return zhi.ToShortDateString();
                        }
                        catch  //只有错误的情况下
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("输入日期格式错误");
                        }
                    }
                case 5:
                    //民族
                    for (; ; )
                    {
                        selectNation("Nation");
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.Write("请输入民族:N");
                        string nation = "";
                        int i = Convert.ToInt32(Console.ReadLine());
                        if (i < 0)
                            i = Math.Abs(i);
                        if (i < 999)
                        {
                            nation = "N" + i.ToString("000");

                            if (boselect("Nation", "NationCode", nation) || boselect("Nation", "NationName", nation))
                            {
                                return nation;
                            }
                            else
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine("没有此民族编号或名称");
                            }
                        }
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("请输入数字1~999之间");
                        }
                    }
                case 6:
                    //班级
                    for (; ; )
                    {
                        selectNation("Class");
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.Write("请输入班级:C");
                        string nation = "";
                        int i = Convert.ToInt32(Console.ReadLine());
                        if (i < 0)
                            i = Math.Abs(i);
                        if (i < 999)
                        {
                            nation = "C" + i.ToString("000");

                            if (boselect("Class", "ClassCode", nation) || boselect("Class", "ClassName", nation))
                            {
                                return nation;
                            }
                            else
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine("没有此班级编号或名称");
                            }
                        }
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("请输入数字1~999之间");
                        }
                    }
                default: break;
            }
            return "";
        }

        /// <summary>
        /// 判断要执行的操作
        /// </summary>
        /// <param name="id">操作编号</param>
        public void caozuo(int id)
        {
            switch (id)
            {
                case 1:
                    //查询select
                    while (true)
                    {
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.Write("请输入要查看的表名:");
                        string tabname = Console.ReadLine();
                        if (tabname != "")
                        {
                            Console.Write("请输入条件列名:");
                            string cluame = Console.ReadLine();
                            if (tabname != "")
                            {
                                Console.Write("请输入条件:");
                                string UserName = Console.ReadLine();
                                if (tabname != "")
                                {
                                    if (select(tabname, cluame, UserName))
                                    {
                                        break;
                                    }
                                }
                            }
                        }
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("该字段不能为空");
                        }
                    }
                    break;
                case 2:
                    //插入
                    while (true)
                    {
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.Write("请输入要插入的用户名:");
                        string UserName = Console.ReadLine();
                        if (!boselect("Users", "UserName", UserName))
                        {
                            string pwd = panduan(1);
                            string nick = panduan(2);
                            string sex = panduan(3);
                            string bir = panduan(4);
                            string nation = panduan(5);
                            string cla = panduan(6);
                            if (zhixing("insert into Users values(‘" + UserName + "‘,‘" + pwd + "‘,‘" + nick + "‘,‘" + sex + "‘,‘" + bir + "‘,‘" + nation + "‘,‘" + cla + "‘)") > 0)
                            {
                                Console.WriteLine("成了"); break;
                            }
                            else
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine("没成");
                            }
                        }
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("此用户名以存在请更改。");
                        }
                    }
                    break;
                case 3:
                    //删除
                    while (true)
                    {
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.Write("请输入要删除的用户名:");
                        string UserName = Console.ReadLine();
                        if (boselect("Users", "UserName", UserName))
                        {
                            if (zhixing("DELETE FROM Users WHERE UserName=‘" + UserName + "‘") > 0)
                            {
                                Console.WriteLine("成了"); break;
                            }
                            else
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine("没成");
                            }
                        }
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("此用户名不存在请更改。");
                        }
                    }
                    break;
                case 4:
                    //修改
                    while (true)
                    {
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.Write("请输入要修改的用户名:");
                        string UserName = Console.ReadLine();
                        if (boselect("Users", "UserName", UserName))
                        {
                            string pwd = panduan(1);
                            string nick = panduan(2);
                            string sex = panduan(3);
                            string bir = panduan(4);
                            string nation = panduan(5);
                            string cla = panduan(6);
                            if (zhixing("update Users set PassWord = ‘" + pwd + "‘,NickName = ‘" + nick + "‘,Sex=‘" + sex + "‘,Birthday=‘" + bir + "‘,Nation=‘" + nation + "‘,Class=‘" + cla + "‘ where UserName = ‘" + UserName + "‘") > 0)
                            {
                                Console.WriteLine("成了"); break;
                            }
                            else
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine("没成");
                            }
                        }
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("此用户名不存在请更改。");
                        }
                    }
                    break;
                default:
                    break;
            }
        }

        /// <summary>
        /// 查询语句
        /// </summary>
        /// <param name="tabname">要查询的表名</param>
        /// <param name="cluame">要查询的条件列</param>
        /// <param name="UserName">条件</param>
        /// <returns></returns>
        public bool select(string tabname, string cluame, string UserName)
        {
            try
            {
                SqlCommand cmd = conn.CreateCommand();
                Console.ForegroundColor = ConsoleColor.Blue;
                if (tabname == "Users" || tabname == "users")
                {
                    conn.Open();
                    cmd.CommandText = "SELECT ids,UserName,[PassWord],NickName,Sex,Birthday,NationName as Nation,ClassName AS Class FROM Users,Class,Nation WHERE Nation=NationCode AND Class=ClassCode AND " + cluame + "=‘" + UserName + "‘";

                    SqlDataReader dr = cmd.ExecuteReader();
                    Console.WriteLine("┌──────────────────────────────────┐");
                    Console.WriteLine("│ ID\t用户名\t密码\t昵称\t性别\t生日\t\t民族\t班级 │");
                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            Console.WriteLine("│ {0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7} │", dr["ids"], dr["username"], dr["PassWord"], dr["NickName"], dr["Sex"], Convert.ToDateTime(dr["Birthday"]).ToShortDateString(), dr["Nation"], dr["class"]);
                        }
                        Console.WriteLine("└──────────────────────────────────┘");
                        conn.Close();
                        return true;
                    }
                    else
                    {
                        Console.WriteLine("│──────────────────────────────────│");
                        Console.WriteLine("│─────────────未查到任何数据──────────────│");
                        Console.WriteLine("│──────────────────────────────────│");
                        Console.WriteLine("└──────────────────────────────────┘");
                        conn.Close();
                        return false;
                    }
                }
                else
                {
                    cmd.CommandText = "SELECT * FROM " + tabname + " where " + cluame + "=‘" + UserName + "‘";
                    SqlDataReader dr = cmd.ExecuteReader();
                    Console.WriteLine("┌───────────┐");
                    Console.WriteLine("│\t编号\t名称\t│");
                    conn.Open();
                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            Console.WriteLine("│\t{0}\t{1}\t│", dr[0], dr[1]);
                        }
                        Console.WriteLine("└───────────┘");
                        conn.Close();
                        return true;
                    }
                    else
                    {
                        Console.WriteLine("│───────────│");
                        Console.WriteLine("│──未查到任何数据──│");
                        Console.WriteLine("│───────────│");
                        Console.WriteLine("└───────────┘");
                        conn.Close();
                        return false;
                    }
                }
            }
            catch
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("表名、列名、数据输入有误");
                return false;
            }
        }

        /// <summary>
        /// 判断UserName是否存在
        /// </summary>
        /// <param name="tabname">表名</param>
        /// <param name="UserName">用户名</param>
        /// <returns></returns>
        public bool boselect(string tabname, string cluame, string UserName)
        {
            conn.Open();
            SqlCommand cmd = conn.CreateCommand();
            cmd.CommandText = "SELECT * FROM " + tabname + " where "+cluame+"=‘" + UserName + "‘";
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                conn.Close();
                return true;
            }
            else
            {
                conn.Close();
                return false;
            }
        }

        /// <summary>
        /// 打印所有用户数据
        /// </summary>
        public void selectall()
        {
            SqlCommand cmd = conn.CreateCommand();
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.WriteLine("┌──────────────────────────────────┐");
            Console.WriteLine("│ ID\t用户名\t密码\t昵称\t性别\t生日\t\t民族\t班级 │");
            conn.Open();
            cmd.CommandText = "SELECT ids,UserName,[PassWord],NickName,Sex,Birthday,NationName as Nation,ClassName AS Class FROM Users,Class,Nation WHERE Nation=NationCode AND Class=ClassCode";
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    Console.WriteLine("│ {0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7} │", dr["ids"], dr["username"], dr["PassWord"], dr["NickName"], dr["Sex"], Convert.ToDateTime(dr["Birthday"]).ToShortDateString(), dr["Nation"], dr["class"]);
                }
            }
            else
            {
                Console.WriteLine("│──────────────────────────────────│");
                Console.WriteLine("│─────────────未查到任何数据──────────────│");
                Console.WriteLine("│──────────────────────────────────│");
            }
            conn.Close();
            Console.WriteLine("└──────────────────────────────────┘");
        }

        /// <summary>
        /// 打印所有民族与代码
        /// </summary>
        public void selectNation(string tabname)
        {
            SqlCommand cmd = conn.CreateCommand();
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.WriteLine("┌───────────┐");
            Console.WriteLine("│\t编号\t名称\t│");
            conn.Open();
            cmd.CommandText = "SELECT * FROM " + tabname;
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    Console.WriteLine("│\t{0}\t{1}\t│", dr[0], dr[1]);
                }
            }
            else
            {
                Console.WriteLine("│───────────│");
                Console.WriteLine("│──未查到任何数据──│");
                Console.WriteLine("│───────────│");
            }
            conn.Close();
            Console.WriteLine("└───────────┘");

        }

        static void Main(string[] args)
        {
            Program pr = new Program();
            SqlCommand cmd = conn.CreateCommand();

            //打印所有人的数据
            pr.selectall();
            while (true)
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("1.查询");
                Console.WriteLine("2.插入");
                Console.WriteLine("3.删除");
                Console.WriteLine("4.修改");
                Console.Write("请选择要执行的操作:");
                try
                {
                    int biao = Convert.ToInt32(Console.ReadLine());
                    if (biao > 0 && biao < 5)
                    {
                        pr.caozuo(biao);
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.Write("请输入任意键继续_");
                        Console.ReadKey();
                        Console.Clear();
                        pr.selectall();
                    }
                    else
                    {
                        Console.Clear();
                        pr.selectall();
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.WriteLine("请输入1~4进行选择");
                    }
                }
                catch
                {
                    Console.Clear();
                    pr.selectall();
                    Console.WriteLine("请输入数字1~4进行选择");
                }
            }
        }
    }
}

代码

干净到爆,可以点啊,点点试试

时间: 2024-08-11 22:52:22

2016年11月28日--ADO.Net 查、插、删、改 小练习的相关文章

软考中高项学员:2016年3月28日作业

软考中高项学员:2016年3月28日作业 一.项目沟通管理1.项目沟通管理包括哪些过程?(记)2.阻碍有效沟通的因素有哪些?3.沟通计划编制的第一步是什么?目的是什么?4.沟通管理计划包括哪些内容(8条)5.干系人沟通计划包括哪些内容?(记)6.项目例会的主要议题有哪四条?7.项目内部启动会议.外部启动会议分别要解决什么问题?8.项目总结会议的目的有哪些?9.影响项目沟通的技术因素有哪些?9.常用的四种沟通方式是什么?各有何优缺点?10.信息分发的工具和技术是什么?11.经验教训总结过结果是什么

2016年3月28日作业

软考中高项学员:2016年3月28日作业 一.项目沟通管理1.项目沟通管理包括哪些过程?(记)答:信息的生成.传递.接收.理解检查.2.阻碍有效沟通的因素有哪些?答:1.沟通双方的物理距离.2.沟通的环境因素.3.缺乏清晰的沟通渠道.4.复杂的组织结构.5.复杂的技术术语.6.有害的态度.3.沟通计划编制的第一步是什么?目的是什么?答:沟通计划编制的第一步是干系人分析,目的是得出项目的沟通的需求和方式,进而形成较为准确的沟通需求表,然后再针对需求进行计划编制.4.沟通管理计划包括哪些内容(8条)

2016年3月28日作业 项目沟通管理与合同管理

2016年3月28日作业 项目沟通管理与合同管理 一.项目沟通管理1.项目沟通管理包括哪些过程?(记)  沟通计划编制.信息分发.绩效报告.项目干系人管理. 2.阻碍有效沟通的因素有哪些?  物理距离.环境因素.缺乏清晰的沟通渠道.复杂的组织结构.复杂的技术术语.有害的态度. 3.沟通计划编制的第一步是什么?目的是什么?     沟通计划编制的第一步就是干系人分析,目的是得出项目中沟通的需求和方式,进而形成较为准确的沟通需求表,然后再针对需求进行计划编制. 4.沟通管理计划包括哪些内容(8条) 

2016年3月28日作业(项目沟通管理、项目合同管理)

2016年3月28日作业 一.项目沟通管理 1.项目沟通管理包括哪些过程?(记) 1.沟通计划的编制 2.信息分发 3.绩效报告 4.项目干系人管理 2.阻碍有效沟通的因素有哪些? 1.沟通双方的物理距离 2.沟通的环境因素 3.缺乏清晰的沟通渠道 4.复杂的组织结构 5.复杂的技术术语 6.有害的态度 3.沟通计划编制的第一步是什么?目的是什么? 沟通计划编制的第一步就是干系人分析,得出项目中沟通的需求和方式,进而形成较为准确的沟通需求表,然后再针对需求进行计划编制. 4.沟通管理计划包括哪些

11月28日全球域名商保有量及市场份额排行榜TOP16

IDC评述网(idcps.com)12月01日报道:根据RegistrarStats公布的实时数据显示,截止至2015年11月28日,全球域名注册保有量十六强名单顺序,与上期11月21日保持一致,中国依旧占据3个席位,分别是中国万网.易名中国.新网,排名分列7..10.16名.下面,请看IDC评述网对数据的整理与分析. (图1)全球域名注册商(国际域名)保有量市场份额TOP16 如图1所示,截止至2015年11月28日,在全球域名注册市场上,GODADDY.COM份额依旧最大,第二名eNom与之

struts2练习时犯的错误(2016年11月4日)

1.Tomcat启动时报错 严重: 文档无效: 找不到语法. at (null:3:8) org.xml.sax.SAXParseException; systemId: file:/F:/Program%20Files%20(x86)/Tomcat%206.0/webapps/struts2_11_4/WEB-INF/classes/struts.xml; lineNumber: 3; columnNumber: 8; 文档无效: 找不到语法. 错误原因:struts.xml中忘记写<!DOC

关于11月28日CSDN遭受网络攻击的情况说明

各位CSDN网友: 2014年11月28日,CSDN网站因遭受网络攻击导致用户无法正常登陆或访问,对此,许多网友通过微博.微信.邮件.QQ等多种方式,对我们表示了极大的关注.经过技术人员的努力,在遭受攻击16个小时之后,CSDN各项服务恢复正常. 在此,我们向大家对CSDN的关心表示衷心的感谢,同时将情况向大家做简要说明. 11月28日上午9:40分,CSDN网站受到网络攻击.经排查,发现CSDN网站正在遭受DNS和NTP反射攻击,攻击流量一度达到50G以上.经过技术团队的连夜工作,截止本文发布

大陆地区OpenStack项目Core现状(截至2016年1月28日,转载自陈沙克日志)

陈沙克 经常有朋友问,大陆地区大概有多少位OpenStack项目的Core.这个问题,现在其实不太好回答,如果需要准确统计的话.下面仅仅是一个大概估计,有遗漏的,希望朋友指出,我来补全. 文档修改历史 2016年2月2日:增加IBM的刘光亚.EMC统计有误,去掉. 2016年2月21日:增加EasyStack的Tang Chen OpenStack client core 2016年4月9日:增加了intel的Eli Qiao,海云捷迅的Li Ma,eBay的Huang Zhiteng,在上海.

2016年9月28日--进制转换

一.十进制与二进制互相转换 二.十进制与八进制互相转换 三.十进制与十六进制互相转换 四.二进制与八进制互相转换 五.二进制与十六进制互相转换 一.十进制与二进制互相转换 十进制转二进制十进制:40 转二进制 方法:除2取余法,即每次将整数部分除以2,余数记录.商继续除以2,余数记录,直到商为1为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数. 读出二进数为:101000 二进制转十进制二进制:101000 转十进制 第8位 第7位 第6位 第5位 第4位 第3位 第2位 第1位