入口文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace qq通讯录2020
{
class Program
{
static void Main(string[] args)
{
// 实例化一个系统对象,Game对象
Game g = new Game();
// 让对象运行
g.start();
// 停顿
Console.ReadKey();
}
}
}
功能类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
namespace qq通讯录2020
{
class Game
{
// 连接对象
SqlConnection conn;
// 程序启动的方法
// 我们在这里控制程序的主流程
public void start() {
// 程序的初始化
loading();
// 用户登陆
bool is_login = login();
// 登陆验证:
// 如果登陆成功,那就运行主要的功能
// 如果登陆不成功,那就再给一次登陆机会
// 计数器
int chance = 3;
while (is_login==false && chance >0)
{
chance--;
Console.WriteLine("您还有{0}次机会",chance);
// 重复做的事情是执行登陆的操做
is_login = login();
}
Console.WriteLine("已经退出循环"+is_login);
// 判断退出循环后,登陆是否成功
if (is_login) {
// 运行主要功能
mainFunc();
}
}
// 初始化方法
public void loading() {
// 定义连接字符串
String connString = "Data Source=.;Initial Catalog=dbok;Persist Security Info=True;User ID=sa;Password=root123123";
// 实例化连接对象
conn = new SqlConnection(connString);
}
// 登陆的功能方法
public bool login()
{
// 接收用户输入的帐号与密码
Console.WriteLine("请输入用户名:");
String username = Console.ReadLine();
Console.WriteLine("请输入密码:");
String password = Console.ReadLine();
// 连接数据库,查询帐号密码是否存在
String sql = String.Format("select count(*) from userlogin where username = '{0}' and password = '{1}'", username, password);
Console.WriteLine(sql);
// 执法者.查询得到首行首列的方法,可以获得一个返回值int
SqlCommand cmd = new SqlCommand(sql,conn);
// 打开连接对象
try
{
// 可能会出错的代码
conn.Open();
// 让执法者干活
int res = (int)cmd.ExecuteScalar();
// 判断返回值,0?1?
if (res == 0) {
return false;
} else {
return true;
}
}
catch (Exception e)
{
// 如果出错了,会执行的代码区块
Console.WriteLine(e.Message);
}
finally {
// 不论出不出错,一定会执行的区块
// 关闭连接对象
conn.Close();
}
return true;
}
// 欢迎用户
public void welcome() {
Console.WriteLine("欢迎使用【QQ通讯录】,当前版本:v2.0");
}
public void showFuncMenu() {
Console.WriteLine("1-查询所有名片");
Console.WriteLine("2-新建名片");
Console.WriteLine("3-搜索名片");
Console.WriteLine("4-修改名片");
Console.WriteLine("5-删除名片");
Console.WriteLine("q-退出程序");
}
public String getUserChoice() {
// 提示
Console.WriteLine("请输入功能编号:");
// 接收
return Console.ReadLine();
}
public void createNewCard() {
Console.WriteLine("新建名片...");
}
public void showAllCard() {
Console.WriteLine("显示所有名片...");
}
// 运行程序功能的方法
public void runApp(String choice) {
switch (choice)
{
case "1":
showAllCard();
break;
case "2":
createNewCard();
break;
default:
Console.WriteLine("非法输入,请重新再试");
break;
}
}
// 主要的功能
public void mainFunc()
{
// 欢迎一下用户
welcome();
// 功能循环
while (true) {
// 显示功能菜单
showFuncMenu();
// 接收用户输入
String choice = getUserChoice();
// 判断是否需要退出程序
if (choice.Equals("q"))
{
Console.WriteLine("用户选择了退出程序,感谢使用,再会");
break;
}
// 根据用户输入,触发对应的功能
runApp(choice);
}
}
}
}