概述:控制台程序,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. linux 网站目录权限设置

    Linux下Apache网站目录读写权限的设置 网站目录文件权限的设置对网站的安全至关重要,下面简单介绍网站目录文件权限的基本设定. 我们假设http服务器运行的用户和用户组是www,网站用户为cen ...

  2. 201777010217-金云馨《面向对象程序设计(Java)》第十二周学习总结

      内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/ ...

  3. SQL-on-Hadoop 技术

    SQL-on-Hadoop 技术 备注 Apache Hive Cloudera Impala Facebook Presto Apache Drill Spark SQL Apache Phoeni ...

  4. 【Android】从Eclipse到AndroidStudio的工程迁移

    1.新建Android Studio的代码目录 2.打开AS,选择File---->New---->Import Project 3.在弹出的对话框选择Eclispe代码目录 4.选择Ec ...

  5. 忍者钩爪 ( ninja) 题解———2019.10.19

    可以到这里测..嘿嘿嘿 题目: [问题 描述 ] 小 Q 是一名酷爱钩爪的忍者, 最喜欢飞檐走壁的感觉, 有一天小 Q 发现一个练习使用钩 爪的好地方,决定在这里大显身手. 场景的天花板可以被描述为一 ...

  6. CF1188C Array Beauty(DP)

    日常降智. 不过还是第一次和 2700 的题正解这么近呢-- 由于排序后不影响答案,而且直觉告诉我们排序后会更好做,不妨排个序. 直觉告诉我们,变成求最小差 \(\ge v\) 的方案数会比最小差 \ ...

  7. DevC++中的[Error](不定期更新)

    ld returned 1 exit status 程序是没有问题的,可能的问题最有可能是以下2个 1.是你的程序已经在运行,关闭原来的程序就可以正常了 2.你机器上有杀毒(安全)软件阻止了你程序的生 ...

  8. java web开发入门九(Maven使用&idea创建maven项目)基于intellig idea

    Maven 1.解决的问题 jar包的依赖和管理:版本.依赖关系等 自动构建项目 2.maven介绍 1.Maven是什么? Apache Maven是一个软件项目管理的综合工具.基于项目对象模型(P ...

  9. Adams宏导出

    var set var=ip integer_value=1 var set var=macro_name str="" for variable_name=the_macro o ...

  10. linux 内核参数tcp_max_syn_backlog对应的队列最小长度

    环境:centos7.4 内核版本3.10 内核参数net.ipv4.tcp_max_syn_backlog定义了处于SYN_RECV的TCP最大连接数,当处于SYN_RECV状态的TCP连接数超过t ...