一个简单的与数据库交互案例
用户通过在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();
}
}
}
实现界面