c#(三十) —— 实体类

一个简单的与数据库交互案例
用户通过在Program()的Main函数里交互输入学生信息,调用StudentService()的addStudent(stu)方法。该方法调用了SqlHelper()的add(insertSql)方法,其中,数据的传递使用了实体类Student().
遇到的主要问题
dateTime部分,这部分在输入实际数据的时候需要加引号
在这里插入图片描述
字符串拼接部分,中间不需要预留逗号
错误示例
在这里插入图片描述
正确示例
在这里插入图片描述

代码文件夹结构如下
在这里插入图片描述

代码如下
student实体类

using System;

namespace StudengManage.Models
{
    public class Student
    {
        //学号
        public int StudentId { get; set; }
        public string StudentName { get; set; }
        public string Gender { get; set; }
        public DateTime Birthday { get; set; }
        //身份证号
        public decimal studentIdNo { get; set; }
        public int Age { get; set; }
        public string PhoneNumber { get; set; }
        public string StudentAddress { get; set; }
        public int ClassId { get; set; }

    }
}

StudentService类

using StudengManage.Models;

namespace StudengManage.DAL
{
    public class StudentService
    {
        public int addStudent(Student student)
        {
            string insertSql = "insert into Student(StudentId,StudentName,Gender,Birthday,studentIdNo,Age,PhoneNumber,StudentAddress,ClassId) " +
                "values({0},'{1}','{2}','{3}',{4},{5},'{6}','{7}',{8})";
            insertSql = string.Format(insertSql, student.StudentId, student.StudentName, student.Gender, student.Birthday, student.studentIdNo, student.Age
                , student.PhoneNumber, student.StudentAddress, student.ClassId);
            return SqlHelper.add(insertSql);
        }
    }
}

SqlHelper类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using System.Data.Sql;

namespace StudengManage.DAL
{
   public class SqlHelper
    {
        private static string connStr = "server = localhost;database = MyPhoneList; uid = 123; pwd = 123;";

        public static int add(string sql) {
            //连接对象
            SqlConnection sqlCon = new SqlConnection(connStr);
            //操作对象
            SqlCommand sqlCom = new SqlCommand(sql, sqlCon);
            //打开连接
            sqlCon.Open();
            //执行操作
            int result = sqlCom.ExecuteNonQuery();
            //关闭连接
            sqlCon.Close();
            //返回结果
            return result;
        }
    }
}

Program类

using StudengManage.DAL;
using StudengManage.Models;
using System;

namespace StudengManage
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            //生成学生对象
            Student stu = new Student();
            //用户输入信息
            Console.WriteLine("请输入学员学号:");
            stu.StudentId = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入学员姓名:");
            stu.StudentName = Console.ReadLine();
            Console.WriteLine("请输入学员性别:");
            stu.Gender = Console.ReadLine();
            Console.WriteLine("请输入学员生日:");
            stu.Birthday = Convert.ToDateTime(Console.ReadLine());
            Console.WriteLine("请输入学员身份证号:");
            stu.studentIdNo = Convert.ToInt64(Console.ReadLine());
            Console.WriteLine("请输入学员年龄:");
            stu.Age = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入学员联系方式:");
            stu.PhoneNumber = Console.ReadLine();
            Console.WriteLine("请输入学员地址:");
            stu.StudentAddress = Console.ReadLine();
            Console.WriteLine("请输入学员班级号:");
            stu.ClassId = Convert.ToInt32(Console.ReadLine());
            //进行添加
            int result = new StudentService().addStudent(stu);
            Console.WriteLine(result == 1 ? "成功" : "失败");
            Console.ReadLine();
        }
    }
}

实现界面
在这里插入图片描述

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值