如何更新月度/年度记录

时间:2016-09-27 13:08:34

标签: sql sql-server visual-studio sql-server-2008 visual-studio-2015

好吧,我已经尝试了几天,但我真的不知道代码,我正在寻求帮助。

我的问题:

我正在制作一个程序,用于收集和更新每个成员捐赠/十分之一的数据。成员每周捐赠,然后数据库表包含每周,每月和每年专栏。现在,我需要知道如何在保持每周记录的同时更新月度和年度列。因为每次添加新记录时,月度和年度列都会更新。

到目前为止

代码:

Private Sub btnAddOffertory_Click(sender As Object, e As EventArgs) Handles btnAddOffertory.Click
    cn.Open()
    Using cmd As New SqlClient.SqlCommand("INSERT INTO tblOffertory(ID, Name, Weekly, Date, Monthly, Annual)VALUES(@ID, @Name, @Weekly, @Date, @Monthly, @Annual)", cn)
        cmd.Parameters.Add(New SqlClient.SqlParameter("@ID", SqlDbType.Int)).Value = DGOList.SelectedRows(0).Cells(0).Value
        cmd.Parameters.Add(New SqlClient.SqlParameter("@Name", SqlDbType.VarChar, 50)).Value = DGOList.SelectedRows(0).Cells(1).Value
        cmd.Parameters.Add(New SqlClient.SqlParameter("@Weekly", SqlDbType.Int)).Value = txtOffertory.Text
        cmd.Parameters.Add(New SqlClient.SqlParameter("@Date", SqlDbType.Date)).Value = dtpOffertory.Text
        cmd.Parameters.Add(New SqlClient.SqlParameter("@Monthly", SqlDbType.Int)).Value = 0
        cmd.Parameters.Add(New SqlClient.SqlParameter("@Annual", SqlDbType.BigInt)).Value = 0
        i = cmd.ExecuteNonQuery
    End Using
    If (i > 0) Then
        Using cmd As New SqlClient.SqlCommand("UPDATE tblOffertory SET Monthly += @Monthly WHERE Date = '" & dtpOffertory.Text & "' AND ID = " & DGOList.SelectedRows(0).Cells(0).Value, cn)
            cmd.Parameters.Add(New SqlClient.SqlParameter("@Monthly", SqlDbType.Int)).Value = txtOffertory.Text
        End Using
    End If
    cn.Close()
    ShowORecord()
    OClear()
End Sub

0 个答案:

没有答案