我想创建一个可以正常计算的命令

本文关键字:常计算 计算 命令 一个 创建 | 更新日期: 2023-09-27 18:30:38

我正在为我的项目开发一个库系统。我的顾问要求我计算逾期账簿的罚款。我有 3 个文本框,一个用于学生证、书名和 ISBN,我还有两个日期时间选择器;一个用于日期,一个用于截止日期。我想要一个命令,如果借款人没有按时归还书籍,该命令将计算罚款,并将罚款输入我的表格"借书"列"罚款"。

这是我的代码:

string constring = ("Data Source=.''SQLEXPRESS;Integrated Security=True");
        SqlConnection con = new SqlConnection(constring);
        con.Open();
        SqlCommand cmd = new SqlCommand("SELECT  [Student ID], ISBN, Title, Date, [Due Date], Penalty FROM    Borrowbook;", con);

        try
        {
            SqlDataAdapter sda = new SqlDataAdapter();
            sda.SelectCommand = cmd;
            DataTable Records = new DataTable();
            sda.Fill(Records);
            BindingSource bsource = new BindingSource();
            bsource.DataSource = Records;
            dataGridView1.DataSource = bsource;
            sda.Update(Records);

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
        if (dateTimePicker2.Value < DateTime.Now)
        {
            cmd.CommandText = "INSERT INTO Borrowbook (Penalty) VALUES  (@Penalty)";
            SqlParameter p1 = new SqlParameter("@Penalty", SqlDbType.Date);
            p1.Value = 50;
            cmd.Parameters.Add(p1);
            cmd.ExecuteNonQuery();
        }
    }

此代码不起作用,但它运行正常并且没有任何错误。但我认为这是我的代码的想法。我把这段代码放在按钮中,我的数据网格视图也会显示我的数据。

我想创建一个可以正常计算的命令

您尚未执行查询。

你需要:

cmd.ExecuteNonQuery();

您还需要一个指向正确SQL Server数据库的SqlConnection对象。

另外,您的数据库架构看起来有点模糊,您怎么知道哪个人受到了处罚?您没有插入任何其他标识符,只是罚款金额。