C#课设(.NET)校园一卡通系统

2023-10-16 05:40

本文主要是介绍C#课设(.NET)校园一卡通系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

C#窗体应用(.NET)校园一卡通系统

一.开发环境

Visual Studio 2019

SQL SERVER2012

数据库也可以使用VS2019本身自带的数据库

1.Visual Studio 2019下载安装教程

       第一步搜索vs2019

       第二步进入官网并点击下载Community2019

    第三步双击进去点继续进入等待其下载必要的文件,如下图所示。

第四步下载好会出现以下图

选择,net桌面开发以及通用Windows平台开发    右侧需要点击添加SQLSEVERExpress 2016LocaIDB

第五步下载安装位置

点击右下角的安装,就开始下载VS2019了,它会边下载边安装,此过程视自己的网速情况,可能会花费较长时间。如下图所示
在这里插入图片描述

详细下载与使用VS2019请到
转载于原文链接:https://blog.csdn.net/weixin_43074474/article/details/108717843

2.VS2019自带数据库的使用与常见错误解决

步骤一:安装VS自带的数据库组件

在选择安装VS组件的时候需要选择数据库组件(一般系统默认勾选),如下图所示。

 

安装完成后,启动VS软件,查看“视图”中是否有下图所示的两个功能,如下图。

如果两个功能都有证明安装成功,如果只有其中的一个,我们也先来进行数据库连接,查看是否能连接成功。

提示:如过两个功能都有,按照步骤操作

如果只有其中一个,则直接跳到步骤六,

 

步骤二:测试数据库是否能连接成功

(1)如果视图里面有SQL Server对象资源管理器,选中并打开,如图①②操作所示。

 

(2)打开成功后,有些可能会自动连接服务器,如果没有自动连接的,选中SQL Server单击鼠标右键,选择添加连接,如下图所示。

 

(3)然后打开本地,选择其中一个服务器,单击连接。如同所示。

 

 

(4)连接成功后,就会出现连接的服务器,以及对应的数据库,如图所示。

 

 

 

步骤三:新建数据库

(1)选中数据库,单击鼠标右键,选择连接数据库,如图所示。

 

(2)输入新建数据库的名称,以及保存的路径(一般默认),如图所示。

 (3)刷新数据库,就会出现,刚才新建的数据库,如图所示。

步骤四:新建表

  • 展开数据库,选择数据库表,单击鼠标右键,选择新建表,如图所示。

 

  • 添加新建表后,会展示数据库表,在表格输入新建表的内容,如图所示。

    

                                  数据类型我一般定义的varchar(10)

  • 新建完表格后,可以进行数据库表名的更改,更改完成后,选择更新,如图所示。

  • 单击更新后,选择更新数据库,如图所示。

 

  • 更新成功后,展开数据库表,可以看到刚才新建的数据库表,因此数据库的新建就完成了,如图所示。

步骤五:代码测试数据库是否能连接

  • 在工具箱中找到"Button"控件,拖入到窗体中,双击进入到代码编写的位置,如图所实。

  • 添加连接数据库的空间命名与数据库连接的代码,如图所示。

  • 如何找服务器中找连接数据库字符串

选择连接成功的服务器,单击鼠标右键,选择属性,如图所示。

 

在属性中找到连接数据库的字符串,选择全部复制,然后在粘贴到代码当中(注意:在代码中需要用双引号,如果有单斜杠,变为双斜杠),如图所示。

步骤六:服务资源管理器的连接数据库

  • 同样在视图中找到 “服务资源管理器”,单击打开,如图所示。

  • 选中数据连接,单击鼠标右键,选择添加连接,如图所示。

  • 选择SQLServer,单击确定,如图所示。

注意:不要选错了数据库

  • 在添加连接的界面,进行刷新,看看下拉框有没有自动显示服务器名称,如果有直接选择,然后单击测试连接。如果没有我们先输入自己电脑的名称,同样测试一下,看能不能连接,如果能连接直接单击确定,不能接着操作(5);

  • 如果以上两种都不可以,那么我们直接在服务名中输入(localdb)\MSSQLLocalDB,然后测试连接。

  • 连接成功后,如下图所示。

接下来的新建表格与代码测试,与上述的步骤四,步骤五操作类似。

 

  • 如果还是测试失败,如图所示。

解决方法:

  • 打开路径“C:\Users\xp\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances”,查看下有没有实例名,如下图所示。

如果有,则在连接服务的时候,输入对应的服务器,如图所示。

  • 如果没有,则打开路径“C:\Program Files\Microsoft SQL Server”在这些文件夹中找到SqlLocalDB.exe应用,如图所示。

  • 如果有这个应用程序,执行下面的操作,也可以使用快捷方式:Window+R;输入cmd。

 

  • 打开效果如图所示。

然后输入 cd..  回到最初始位置。

  • 输入SqlLocalDB.exe路径,如图所示。

  • 使用命令SqlLocalDB create MSSQLLocalDB -s创建一个实例,如果实例名中有空格则需要加双引号。如图所示。

  • 创建成功后,打开路“C:\Users\xp\AppData\Local\Microsoft\Microsoft

SQL Server Local DB\Instances”,查看下有没有刚才创建的实例名。如果有则在连接数据库中输入创建的实例名。如果没有,重启电脑重新操作。如果还不能解决,查看错误解决方法。

错误解决方法:

以上两种方法都不能进行数据库连接?

方法一:添加数据库组件

(1)打开安装软件,选择修改,如图所示。

(2)选择SQL Server Express 2016LocalDB数据库组件,不同的VS版本不同,如图所示,然后单击安装。

 

方法二:卸载现有的DB数据库,重新安装一个。

 

无法新建数据库表

  1. 没有新建数据库表这个选项,如图所示。

  1. 解决方法

方法一:代码创建

string  sql=  "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=eq;Integrated Security=True;Pooling=False";
 Connection = new SqlConnection(sql);
         Connection.Open();
    if (Connection.State == ConnectionState.Open)
     {
         MessageBox.Show("","连接成功");              
          }

//以上是连接数据库

//下面是新建数据库表
 using (SqlCommand command2 = new SqlCommand("CREATE TABLE Students(id int IDENTITY(1, 1) PRIMARY KEY not null,basename char(50),category char(10))", Connection))

 { command2.ExecuteNonQuery(); //执行指令

}

注释:Students表示新建的表名,蓝色表示创建的列名

 

方法二:能力有限,还没想到。

插入数据的时候,中文是乱码的解决方法。

在插入的中文数据前加上一个N

insert into User(uid,username,password) values('111',N'中国','123')

 

 

注意:自带数据进行数据操作的时候,表名的编写: dbo.[表名]

 

 

二:数据库的设计

1.建三个表

          s_user,t_user,Student

 

sql server2012数据库

 

选择自己要引用的选项,此时我们选择的类

命名SqlHelp.cs

代码为:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.IO;
using System.Data;
using System.Configuration;
using System.Text.RegularExpressions;
namespace yikatong01
{class SqlHelp{///私有属性:数据库连接字符串///Data Source=(Local)          服务器地址///Initial Catalog=DB  数据库名称///User ID=sa                   数据库用户名///Password=123456         数据库密码private const string connectionString = "Data Source=(Local);Pooling=False;Max Pool Size = 1024;Initial Catalog=yikatong;Persist Security Info=True;User ID=sa;Password=zhaohaitao";/// <summary>/// sqlHelp 的摘要说明:数据库访问助手类/// sqlHelper是从DAAB中提出的一个类,在这里进行了简化,DAAB是微软Enterprise Library的一部分,该库包含了大量大型应用程序/// 开发需要使用的库类。/// </summary>public SqlHelp(){//无参构造函数}public static SqlConnection conn;//打开数据库连接public static void OpenConn(){string SqlCon = connectionString;//数据库连接字符串conn = new SqlConnection(SqlCon);if (conn.State.ToString().ToLower() == "open"){}else{conn.Open();}}//关闭数据库连接public static void CloseConn(){if (conn.State.ToString().ToLower() == "open"){//连接打开时conn.Close();conn.Dispose();}}// 读取数据public static SqlDataReader GetDataReaderValue(string sql){OpenConn();SqlCommand cmd = new SqlCommand(sql, conn);SqlDataReader dr = cmd.ExecuteReader();CloseConn();return dr;}// 返回DataSetpublic DataSet GetDataSetValue(string sql, string tableName){OpenConn();SqlDataAdapter da;DataSet ds = new DataSet();da = new SqlDataAdapter(sql, conn);da.Fill(ds, tableName);CloseConn();return ds;}//  返回DataViewpublic DataView GetDataViewValue(string sql){OpenConn();SqlDataAdapter da;DataSet ds = new DataSet();da = new SqlDataAdapter(sql, conn);da.Fill(ds, "temp");CloseConn();return ds.Tables[0].DefaultView;}// 返回DataTablepublic DataTable GetDataTableValue(string sql){OpenConn();DataTable dt = new DataTable();SqlDataAdapter da = new SqlDataAdapter(sql, conn);da.Fill(dt);CloseConn();return dt;}// 执行一个SQL操作:添加、删除、更新操作public void ExecuteNonQuery(string sql){OpenConn();SqlCommand cmd;cmd = new SqlCommand(sql, conn);cmd.ExecuteNonQuery();cmd.Dispose();CloseConn();}// 执行一个SQL操作:添加、删除、更新操作,返回受影响的行public int ExecuteNonQueryCount(string sql){OpenConn();SqlCommand cmd;cmd = new SqlCommand(sql, conn);int value = cmd.ExecuteNonQuery();return value;}//执行一条返回第一条记录第一列的SqlCommand命令public object ExecuteScalar(string sql){OpenConn();SqlCommand cmd;cmd = new SqlCommand(sql, conn);object value = cmd.ExecuteScalar();return value;}// 返回记录数public int SqlServerRecordCount(string sql){OpenConn();SqlCommand cmd = new SqlCommand();cmd.CommandText = sql;cmd.Connection = conn;SqlDataReader dr;dr = cmd.ExecuteReader();int RecordCount = 0;while (dr.Read()){RecordCount = RecordCount + 1;}CloseConn();return RecordCount;}///<summary>///一些常用的函数///</summary>//判断是否为数字public static bool IsNumber(string a){if (string.IsNullOrEmpty(a))return false;foreach (char c in a){if (!char.IsDigit(c))return false;}return true;}// 过滤非法字符public static string GetSafeValue(string value){if (string.IsNullOrEmpty(value))return string.Empty;value = Regex.Replace(value, @";", string.Empty);value = Regex.Replace(value, @"'", string.Empty);value = Regex.Replace(value, @"&", string.Empty);value = Regex.Replace(value, @"%20", string.Empty);value = Regex.Replace(value, @"--", string.Empty);value = Regex.Replace(value, @"==", string.Empty);value = Regex.Replace(value, @"<", string.Empty);value = Regex.Replace(value, @">", string.Empty);value = Regex.Replace(value, @"%", string.Empty);return value;}}
}

 

三:窗体代码的主要编写

1.从数据库中获取账号与密码

Form s_main = new sMain(t1.Text);string username = t1.Text;string password = "";string selectSql = "select s_mima from s_user where s_name='" + username + "'";SqlHelp sqlHelper = new SqlHelp();password = Convert.ToString(sqlHelper.ExecuteScalar(selectSql));if (t1.Text == username && t2.Text == password){s_main.Show();this.Visible = false;

四:项目文件整合下载

链接:https://pan.baidu.com/s/1q5tu2cmklmjnouyvsr86-g

提取码:7sda

其他详细问题请到评论区留言

 

 

这篇关于C#课设(.NET)校园一卡通系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/219411

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

2. c#从不同cs的文件调用函数

1.文件目录如下: 2. Program.cs文件的主函数如下 using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;namespace datasAnalysis{internal static

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同