案例-客户关系管理系统之增删改查

10、案例-客户关系管理系统之增删改查

一、建立模型

1、导入模型

from django.db import models

2、创建学生表

class Student(models.Model):  # 学生表
    name = models.CharField(max_length=20)
    age = models.SmallIntegerField()
    sex = models.SmallIntegerField(default=1)
    qq = models.CharField(max_length=20, unique=True)
    phone = models.CharField(max_length=20, unique=True)
    c_time = models.DateTimeField(verbose_name='创建时间', auto_now_add=True)
    e_time = models.DateTimeField(verbose_name='修改时间',auto_now=True)
    grade = models.ForeignKey('Grade', on_delete=models.SET_NULL, null=True)
    is_delete = models.BooleanField(default=False)  # 一般实际开发过程中,我们不会直接删除数据,而是给数据加上is_delete字段,来标记数据的状态。

    def __str__(self):
        return '%s-%s-%s' % (self.name, self.age, self.sex)

3、创建学生详情表

class StudentDetail(models.Model):  #学生详情表
    num = models.CharField('身份证', max_length=40, unique=True)
    college = models.CharField('毕业学校', max_length=20, default='')
    student = models.OneToOneField('Student', on_delete=models.CASCADE, related_name='detail')

    def __str__(self):
        return '%s-%s' % (self.num, self.college)

4、创建班级表

class Grade(models.Model):  # 班级表
    name = models.CharField('班级名称', max_length=20)
    num = models.CharField('班期', max_length=20)

    def __str__(self):
        return '%s-%s' % (self.name, self.num)

5、创建课程表

class Course(models.Model):  # 课程表
    name = models.CharField('课程名称', max_length=20)
    student = models.ManyToManyField('Student', through='Enroll')

    def __str__(self):
        return '%s' % self.name

6、创建学生表与课程表的中间表

class Enroll(models.Model):  # 课程与学生多对多中间表
    student = models.ForeignKey('Student', on_delete=models.CASCADE)
    course = models.ForeignKey('Course', on_delete=models.CASCADE)
    pay = models.FloatField('缴费金额', default=0)
    c_time = models.DateTimeField(verbose_name='创建时间', auto_now_add=True)

    def __str__(self):
        return '%s' % self.pay

二、增删改查功能实现

1、index页面视图函数

from django.shortcuts import render, redirect,reverse
from django.http import HttpResponse
from student.models import Student, Grade, StudentDetail
from django.db.models import Q
from django.core.paginator import Paginator


# Create your views here.


def index(request):
    section = '学生列表'
    search = request.POST.get('search', '').strip()  # 接收从html的form表单传过来的参数
    if search:
        if search.isdigit():  # 如果是数值类型则
            sts = Student.objects.filter(Q(qq=search) | Q(phone=search), is_delete=False)  # 用qq和phone去匹配
        else:  # 如果是字符型
            sts = Student.objects.filter(name=search, is_delete=False)  # 则和名字匹配
    else:  # search都没有匹配到则查询所有学生
        sts = Student.objects.filter(is_delete=False)

    sts = sts.order_by('-c_time')  # 排序

    return render(request, 
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我会尽力回答你的问题。对于 C# ADO.NET 的小管理窗口,一般需要实现增删改查的功能。下面是一个简单的实现过程: 1. 首先需要创建一个数据库,并创建一个表用于存储数据。可以使用 SQL Server Management Studio 进行创建。 2. 在 C# 中使用 ADO.NET 连接数据库,可以使用 SqlConnection、SqlCommand、SqlDataAdapter 等类。 3. 在窗口中添加控件,如 DataGridView、TextBox、Button 等,用于显示数据和进行增删改查操作。 4. 在窗口加载时,使用 SqlDataAdapter 填充 DataGridView 控件。代码如下: ``` SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM 表名", connectionString); DataTable table = new DataTable(); adapter.Fill(table); dataGridView1.DataSource = table; ``` 5. 在增加按钮的 Click 事件中,获取用户输入的数据,使用 SqlCommand 执行 INSERT INTO 语句插入数据。代码如下: ``` string sql = "INSERT INTO 表名 (字段1, 字段2) VALUES (@值1, @值2)"; SqlCommand cmd = new SqlCommand(sql, connection); cmd.Parameters.AddWithValue("@值1", textBox1.Text); cmd.Parameters.AddWithValue("@值2", textBox2.Text); cmd.ExecuteNonQuery(); ``` 6. 在修改按钮的 Click 事件中,获取用户输入的数据和选中的行,使用 SqlCommand 执行 UPDATE 语句更新数据。代码如下: ``` string sql = "UPDATE 表名 SET 字段1=@值1, 字段2=@值2 WHERE ID=@ID"; SqlCommand cmd = new SqlCommand(sql, connection); cmd.Parameters.AddWithValue("@值1", textBox1.Text); cmd.Parameters.AddWithValue("@值2", textBox2.Text); cmd.Parameters.AddWithValue("@ID", dataGridView1.SelectedRows[0].Cells["ID"].Value); cmd.ExecuteNonQuery(); ``` 7. 在删除按钮的 Click 事件中,获取选中的行,使用 SqlCommand 执行 DELETE FROM 语句删除数据。代码如下: ``` string sql = "DELETE FROM 表名 WHERE ID=@ID"; SqlCommand cmd = new SqlCommand(sql, connection); cmd.Parameters.AddWithValue("@ID", dataGridView1.SelectedRows[0].Cells["ID"].Value); cmd.ExecuteNonQuery(); ``` 以上就是一个简单的 C# ADO.NET 增删改查小管理窗口的实现过程。当然,还有很多需要完善的地方,比如异常处理、数据验证等。希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值