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);

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