码迷,mamicode.com
首页 > 数据库 > 详细

ADO.net:数据库的增删改查的练习题

时间:2016-07-08 23:16:18      阅读:521      评论:0      收藏:0      [点我收藏+]

标签:

创建一个数据表:
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 + ")";
                    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();
        }
    }
}

 

ADO.net:数据库的增删改查的练习题

标签:

原文地址:http://www.cnblogs.com/sunshuping/p/5654634.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!