zoukankan      html  css  js  c++  java
  • ADO.net:数据库的增删改查的练习题

    创建一个数据表:
    AdoStudent 表名:
    Code - 编号:主键 S101 S102 S103
    Name - 姓名:
    Sex - 性别:男是true,女是false
    Birthday - 生日:
    Score - 成绩:decimal

    要求:
    程序一开启, 把所有的学生信息列出来:
    学号 姓名 性别 生日 成绩
    S101 张三 男 1999-1-1 99.8
    ...

    请输入要进行的操作:1-添加,2-修改,3-删除:1

    添加成功后,重新刷新显示最新数据

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.SqlClient;
    using System.Collections;//引入数据库命名空间
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                //建立 数据库连接类
                SqlConnection conn = new SqlConnection("server=.;database=student;user=sa;pwd=123");
                //建立 数据库操作类
                SqlCommand com = conn.CreateCommand();
                while (true)
                {
                    //显示数据,查询开始
                    Console.WriteLine("学号 名字 性别     生日     成绩");
                    com.CommandText = "select *from adostudent";
                    //开启数据库连接通道
                    conn.Open();
                    //读取数据,数据读取类
                    SqlDataReader de = com.ExecuteReader();
    
                    if (de.HasRows)
                    {
                        while (de.Read())
                        {
                            Console.WriteLine(de[0].ToString() + " " + de[1].ToString() + " " + (Convert.ToBoolean(de[2]) ? "" : "") + " " + Convert.ToDateTime(de[3]).ToString("yyyy年MM月dd日") + " " + Convert.ToDecimal(de[4]).ToString("0.##"));
                        }
                    }
                    //关闭数据库连接通道
                    conn.Close();
                    //查询结束
                    Console.Write("请输入要进行的操作(1-添加,2-修改,3-删除):");
                    int c = Convert.ToInt32(Console.ReadLine());
                    #region 添加
                    if (c == 1)//添加开始
                    {
                        //自动生成一个学生的编号
                        ArrayList arr = new ArrayList();
    
                        com.CommandText = "select *from adostudent";
                        conn.Open();
                        de = com.ExecuteReader();
                        if (de.HasRows)
                        {
                            while (de.Read())
                            {
                                string abc = de["code"].ToString().Substring(1);
                                arr.Add(abc);
                            }
                        }
                        conn.Close();
    
                        arr.Sort();
                        int maxarr = Convert.ToInt32(arr[arr.Count - 1]);
    
                        string endarr = "s" + (maxarr + 1);
                        //让用户输入学生的每一条信息
                        Console.WriteLine("新学生的编号为:" + endarr);
                        Console.Write("请输入新学生的姓名:");
                        string name = "";
                        while (true)
                        {
                            name = Console.ReadLine();
                            if (name != "")
                            {
                                break;
                            }
                            else
                            {
                                Console.Write("名字不能为空,请重新输入:");
                            }
                        }
                        bool sex = false;
                        while (true)
                        {
                            Console.Write("请输入学生的性别:");
                            string ssex = Console.ReadLine();
                            if (ssex == "")
                            {
                                sex = true;
                                break;
                            }
                            else if (ssex == "")
                            {
                                sex = false;
                                break;
                            }
                            else
                            {
                                Console.WriteLine("输入有误");
                            }
                        }
                        Console.Write("请输入学生的出生日期:");
                        DateTime birthday = DateTime.Now;
                        while (true)
                        {
                            try
                            {
                                birthday = Convert.ToDateTime(Console.ReadLine());
                                break;
                            }
                            catch
                            {
                                Console.Write("出生日期输入有误,请重新输入:");
                            }
                        }
                        Console.Write("请输入学生的分数:");
                        decimal score = 0;
                        while (true)
                        {
                            score = Convert.ToDecimal(Console.ReadLine());
                            if (score >= 0 && score <= 100)
                            {
                                break;
                            }
                            else
                            {
                                Console.Write("成绩输入有误,请重新输入:");
                            }
                        }
                        //添加进数据库
                        com.CommandText = "insert into adostudent values(@endarr,@name,@sex,@birthday,@score)";
               com.Parameters.Clear();             com.Parameters.Add("@endarr", endarr);             com.Parameters.Add("@name", name);             com.Parameters.Add("@sex", sex);             com.Parameters.Add("@birthday", birthday);             com.Parameters.Add("@score", score); conn.Open(); com.ExecuteNonQuery(); conn.Close(); Console.Clear(); Console.WriteLine(
    "添加成功"); continue; //添加结束 } #endregion #region 修改 else if (c == 2)//修改 { while (true) { bool has = false;//判断是否有这个学生 Console.Write("请输入要修改的学生编号"); string u = Console.ReadLine(); com.CommandText = "select *from adostudent where code='" + u + "'"; conn.Open(); de = com.ExecuteReader(); if (de.HasRows) { //只需要查询一遍有无学号 has = true; } conn.Close(); //修改后的学生信息 if (has) { Console.WriteLine("已查询到此学生信息,请继续修改操作"); //接受用户输入的修改信息 Console.Write("请输入新学生的姓名:"); string name = ""; while (true) { name = Console.ReadLine(); if (name != "") { break; } else { Console.Write("名字不能为空,请重新输入:"); } } bool sex = false; while (true) { Console.Write("请输入学生的性别:"); string ssex = Console.ReadLine(); if (ssex == "") { sex = true; break; } else if (ssex == "") { sex = false; break; } else { Console.WriteLine("输入有误"); } } Console.Write("请输入学生的出生日期:"); DateTime birthday = DateTime.Now; while (true) { try { birthday = Convert.ToDateTime(Console.ReadLine()); break; } catch { Console.Write("出生日期输入有误,请重新输入:"); } } Console.Write("请输入学生的分数:"); decimal score = 0; while (true) { score = Convert.ToDecimal(Console.ReadLine()); if (score >= 0 && score <= 100) { break; } else { Console.Write("成绩输入有误,请重新输入:"); } } //修改数据库数据 com.CommandText = "update AdoStudent set Name='" + name + "',Sex='" + sex + "',Birthday='" + birthday + "',Score=" + score + " where Code='" + u + "'"; conn.Open(); com.ExecuteNonQuery(); conn.Close(); break;//结束循环 } else { Console.Write("查无此学生信息,请确定学号是否输入正确:"); } } Console.Clear(); Console.WriteLine("修改成功"); continue; } #endregion else if (c == 3)//删除 { string isok = ""; string delcode = ""; while (true) { //让用户输入要删除的学生编号 bool has = false;//判断是否有这个学生 Console.Write("请输入要删除的学生编号"); delcode = Console.ReadLine(); com.CommandText = "select *from adostudent where code='" + delcode + "'"; conn.Open(); de = com.ExecuteReader(); if (de.HasRows) { has = true; } conn.Close(); //判断有无此学生信息,如果有,那么询问用户是否确定删除 if (has) { Console.Write("已查到此学生信息,是否要删除?输入Y执行删除:"); isok = Console.ReadLine(); break; } else { Console.WriteLine("无此学生信息,输入有误"); } } //执行删除 if (isok.ToUpper() == "Y") { com.CommandText = "delete from adostudent where code='" + delcode + "'"; conn.Open(); com.ExecuteNonQuery(); conn.Close(); Console.Clear(); Console.WriteLine("删除成功"); continue; } } } Console.ReadKey(); } } }

    cmd.Parameters.Clear();
    cmd.Parameters.Add("@name", name);
    cmd.Parameters.Add("@sex", sex);
    cmd.Parameters.Add("@birthday", birthday);
    cmd.Parameters.Add("@score", score);

  • 相关阅读:
    解决Nginx不支持pathinfo的问题
    PHP获取当前服务器信息的基本语句
    权重结构的加权排序算法
    《深入探讨C++对象模型》笔记 二
    链表的一些常用操作
    invalidate作用
    GetMessage()和PeekMessage()区别
    C语言程序编译的内存分配
    assert() 宏用法
    开始写博客
  • 原文地址:https://www.cnblogs.com/sunshuping/p/5654634.html
Copyright © 2011-2022 走看看