概述:控制台程序,sqlserver数据库,库D1,表T1。

学生信息表:

表结构:

其中id自动编号。

主程序先完成框架,循环录入选项进行操作:

 namespace ConsoleApplication1
{
class Program
{
static void Select_all()
{
Console.WriteLine("Select_all");
}
static void Select_one()
{
Console.WriteLine("Select_one");
}
static void Add_one()
{
Console.WriteLine("Add_one");
}
static void Delete_one()
{
Console.WriteLine("Delete_one");
}
static void Modify_one()
{
Console.WriteLine("Modify_one");
}
static void Main(string[] args)
{
int a;
do
{
Console.WriteLine("请输入你要执行的操作:\n1、显示全部学生\n2、显示单个学生\n3、添加新学生\n4、删除学生数据\n5、修改学生数据\n0、退出!");
a = int.Parse(Console.ReadLine());
switch(a)
{
case :
Select_all();
break;
case :
Select_one();
break;
case :
Add_one();
break;
case :
Delete_one();
break;
case :
Modify_one();
break;
default:
Console.WriteLine("输入有误!");
break; }
}
while (a != );
}
}
}

测试效果如下:

为项目添加EF框架(过程略,可参见相关博文)

结果如下:

添加业务逻辑层类:

代码如下:

 namespace ConsoleApplication1.Bll
{
class Student
{
public static List<t1> get_All()
{
var d1=new D1();
return d1.t1.ToList();
}
public static t1 get_One(int id)
{
var d1 = new D1();
return d1.t1.Where(x => x.id == id).FirstOrDefault();
}
public static void add_One(t1 x)
{
var d1 = new D1();
d1.t1.Add(x);
d1.SaveChanges();
}
public static void del_One(int x)
{
var d1 = new D1();
var a = d1.t1.Where(t => t.id == x).FirstOrDefault();
if(a!=null)
{
d1.t1.Remove(a);
d1.SaveChanges();
}
}
public static void modi_One(t1 x)
{
var d1 = new D1();
var t = d1.t1.Where(xx=>xx.id==x.id).First();
if(t!=null)
{
t.xm = x.xm;
t.nl = x.nl;
}
d1.SaveChanges();
}
}
}

修改完善主程序,代码如下:

 class Program
{
static void Select_all()
{
//Console.WriteLine("Select_all");
List<t1> a = Student.get_All();
Console.Write("学号\t姓名\t年龄\n");
foreach (var item in a)
{
Console.Write(item.id + "\t" + item.xm + "\t" + item.nl+"\n");
}
}
static void Select_one()
{
//Console.WriteLine("Select_one");
int no;
Console.WriteLine("输入要查询的学生学号:");
no=int.Parse(Console.ReadLine());
t1 a = Student.get_One(no);
if(a!=null)
{
Console.Write("学号\t姓名\t年龄\n");
Console.Write(a.id + "\t" + a.xm + "\t" + a.nl + "\n");
}
else
{
Console.WriteLine("查无此人");
}
}
static void Add_one()
{
//Console.WriteLine("Add_one");
t1 a = new t1();
Console.WriteLine("输入要添加的学生姓名:");
a.xm=Console.ReadLine();
Console.WriteLine("输入要添加的学生年龄:");
a.nl=short.Parse(Console.ReadLine());
Student.add_One(a);
}
static void Delete_one()
{
//Console.WriteLine("Delete_one");
int a;
Console.WriteLine("输入要删除的学生学号:");
a = int.Parse(Console.ReadLine());
Student.del_One(a);
}
static void Modify_one()
{
//Console.WriteLine("Modify_one");
t1 a = new t1();
Console.WriteLine("输入要修改的学生学号:");
a.id = int.Parse(Console.ReadLine());
Console.WriteLine("输入要修改的学生姓名:");
a.xm = Console.ReadLine();
Console.WriteLine("输入要修改的学生年龄:");
a.nl = short.Parse(Console.ReadLine());
Student.modi_One(a);
}
static void Main(string[] args)
{
int a;
do
{
Console.WriteLine("请输入你要执行的操作:\n1、显示全部学生\n2、显示单个学生\n3、添加新学生\n4、删除学生数据\n5、修改学生数据\n0、退出!");
a = int.Parse(Console.ReadLine());
switch(a)
{
case :
break;
case :
Select_all();
break;
case :
Select_one();
break;
case :
Add_one();
break;
case :
Delete_one();
break;
case :
Modify_one();
break;
default:
Console.WriteLine("输入有误!");
break; }
}
while (a != );
}
}

至此,程序工作正常。可自行调试。

List和模型学完后的练习的更多相关文章

  1. 一些Java中不为人知的特殊方法,学完后面试官可能都没你知道的多!

    如果你用过反射并且执行过getDeclaredMethods方法的话,你可能会感到很吃惊.你会发现出现了很多源代码里没有的方法.如果你看一下这些方法的修饰符的话,可能会发现里面有些方法是volatil ...

  2. flexbox-CSS3弹性盒模型flexbox完整版教程

    原文链接:http://caibaojian.com/flexbox-guide.html flexbox-CSS3弹性盒模型flexbox完整版教程 A-A+ 前端博客•2014-05-08•前端开 ...

  3. 学Python后到底能干什么?

    Python是一种什么语言? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的Jav ...

  4. React Native (0.57)开发环境搭建(注意:Node不要随便更新到最新版,更新完后莫名其妙的问题一大堆)

    搭建开发环境 一.安装依赖 必须安装的依赖有:Node.Watchman 和 React Native 命令行工具以及 Xcode. 1.首先安装 Homebrew 2.安装 Node, Watchm ...

  5. 在w3cschool学完html,css,javascript,jquery以后,还是不会做前端怎么办?

    w3cschool是一个非盈利性的在线技术学习网站,提供按W3C标准编写的基础教程.完整的看完w3cschool上面的手册,可以基本掌握编程语法.基础性的东西通常都会比较零散,因此,在学习一段时间后, ...

  6. 从工厂流水线小妹到Google上班程序媛,看完后,我跪服了!

    阅读本文大概需要 10.2 分钟. 文作者:Ling Sun 原文链接:https://www.zhihu.com/question/68154951/answer/546265013 我家境很不好, ...

  7. 零基础学完Python的7大就业方向,哪个赚钱多?

    “ 我想学 Python,但是学完 Python 后都能干啥 ?” “ 现在学 Python,哪个方向最简单?哪个方向最吃香 ?” “ …… ” 相信不少 Python 的初学者,都会遇到上面的这些问 ...

  8. Golang入门(3):一天学完GO的进阶语法

    摘要 在上一篇文章中,我们聊了聊Golang中的一些基础的语法,如变量的定义.条件语句.循环语句等等.他们和其他语言很相似,我们只需要看一看它们之间的区别,就差不多可以掌握了,所以作者称它们为&quo ...

  9. Golang入门(2):一天学完GO的基本语法

    摘要 在配置好环境之后,要研究的就是这个语言的语法了.在这篇文章中,作者希望可以简单的介绍一下Golang的各种语法,并与C和Java作一些简单的对比以加深记忆.因为这篇文章只是入门Golang的第二 ...

随机推荐

  1. time,datetime,random,os,sys,hashlib,logging,configparser,re模块

    #-----time模块----- print(help(time)) #打印time帮助文档 print(time.time()) #打印时间戳 1569824501.6265268 time.sl ...

  2. Grafana数据迁移

    各系统和docker安装官方文档 https://grafana.com/grafana/download?platform=linux ubuntu安装相应版本的Grafana wget https ...

  3. conan使用(四)--打包二进制库

    前面总结过如何打包一个存头文件库,那种情况下非常简单,因为只需要将源文件拷贝就行了.现在来研究下如何打包一个正常情况下会生成动态库或静态库的包.参考文档:https://docs.conan.io/e ...

  4. 201871010104-陈园园 《面向对象程序设计(java)》第十三周学习总结

    201871010104-陈园园 <面向对象程序设计(java)>第十三周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  5. python-新建文件夹

    import tensorflow as tf import os categories = ['folder1', 'folder2'] for folderName in categories: ...

  6. 海量数据MySQL项目实战

    主要内容包含 MySQL 典型数据库架构介绍.MySQL 主流数据库架构对比等理论性知识,然后从“订单.用户”两个项目实战,抛砖引玉,介绍亿级互联网业务数据库项目如何设计. MySQL 典型数据库架构 ...

  7. 微信小程序 - 视图层 | 基础语法

    视图层 WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件.事件系统,可以构建出页面的结构. 类似前端HTML 一.数据绑定 普通语法 test.wxml ...

  8. idea 配置 scala

    在setting 中,通过plugin 安装 Scala 然后重启idea 重启后,建一个scala文件,根据上面提示安装scala

  9. 洛谷 U86501 趣味擂台

    洛谷 U86501 趣味擂台 题目传送门 题目背景 \(JDFZ\)\(2019\)秋季运动会开始辣!运动会中有一个叫做"趣味擂台"的游戏...... 题目描述 游戏内容是这样的: ...

  10. JAVA List中剔除空元素(null)的方法

    方法一.list.removeAll(Collections.singleton(null)); 方法二.List nullList = new ArrayList();                ...