基于C#结合SQL设计学生成绩系统系统

这篇博客记录了一次使用C#而非Python来设计学生成绩系统的经历。作者在Python尝试时遇到数据库连接问题,后转向C#,发现其语言风格简洁,易于上手。文中展示了C#的基本布局,包括listview和datagridview的效果,并提供了相关代码。数据库连接部分直接连接本地数据库,窗口跳转和登录设计部分也进行了说明。
摘要由CSDN通过智能技术生成

基于C#结合SQL设计学生成绩系统系统

这是数据库大作业,原本想的是用python和SQL,但遇到了很多错误,相对C#也很麻烦,因此换了C#。但还是先记录一下基于python时的错误,错误基本是在连接数据库时发生的。

错误集合

  • 需要打开对应服务器的TCP/IP 协议,而且修改后需要重启服务器!!!

详细操作步骤:

  • 需要修改IPAII的TCP端口为1433,
    详细操作步骤:
  • 需要连接服务器
  • 采用Windows身份认证登陆自己电脑上的数据库时,一定要有host

python连接数据库代码

conn = pymssql.connect(host = 'localhost',server='LENOVO-PC\LOKII',database = "S-T")

以下为C#部分

呈现效果

基本布局如下,就最基本的那种窗口体。

listview效果

在这里插入图片描述

datagridview效果

在这里插入图片描述

C#代码

C#的语言风格和C挺像的,简洁规范,不会太难,很容易上手。这个系统用的的C#控件也不多,除了button和text,也就是listview和datagridview,这两个只要弄清楚最基本的规则也差不多够用了。

每个窗体就相当于一个单独的子程序,所以需要声明全局变量,从而获得老师的登录名用于成绩展示的部分。

  • 声明全局变量

    1.先新建一个cs文件,声明全局变量

    2.在登录页将用户名保存为需要传递的字符串

    3.在别的窗体使用该字符串

//1
namespace 学生成绩系统
{
   
    class stloginname
    {
   
        public static string passData;
    }
}


//2            
            teloginname .passData = textBox1.Text.Trim ();//保存传递的字符串
            查询所教课程  myForm = new 查询所教课程 ();//构建B窗体的一个实例

//3
            string tno = "";
            tno = teloginname .passData;
  • 数据库连接部分,这里连接的是本地数据库,所以没有设置服务器名字。若需远程连接,需确保与要连接的数据库处于同一个局域网中。
            SqlConnection conn = new SqlConnection("server=;uid=sa;pwd=12345678;database=ScoreSearch");
            conn.Open();
  • 窗口跳转部分,从登录页面跳回开始页面(即成绩系统)。
            成绩系统 f = new 成绩系统();
            f.Owner = this;
            this.Hide();
            f.ShowDialog();
            Application.ExitThread();
  • 登录部分的设计,算是静态登录,不是动态。即不是给每一个登录用户在数据库里面创建一个身份,而是在表记录他们的用户名和密码。从而直接将获得的登录名、密码与表里面的进行匹配,然后直接以sa的身份登录进去。
            string loginname = textBox1.Text.Trim();   //获取文本框里输入的用户名
            string loginpwd = textBox2.Text.Trim();
            
            //检查输入是否为空
                        if (String.IsNullOrEmpty(loginname) || String.IsNullOrEmpty(loginpwd))
            {
   
                MessageBox.Show("用户名或密码不能为空");
                return;
            }
            
            
            //获取表里所记录的用户名和密码并进行匹配
            string st1 = "select 班主任编号 from classteacher_info where (班主任编号='" + textBox1.Text + "')";
            SqlCommand my1 = new SqlCommand(st1, conn);
            SqlDataReader sdr = my1.ExecuteReader();
            if (sdr.HasRows)
            {
   
                sdr.Close();
                string st2 = "select 班主任密码 from classteacher_info where (班主任编号='" + textBox1.Text + "')";
                SqlCommand my2 =
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值