【发布时间】:2017-03-17 14:20:11
【问题描述】:
我在将数据插入我的 SQL Server 数据库时遇到问题。我正在研究学校管理系统。我有 2 个用户(管理员和员工)。管理员为员工创建/设置所有基本需求。
在这里,管理员正在添加课程详细信息。因此,第一步是在STDMS_ClassDetails 数据库中添加一个类、部分和强度。稍后,主题字段将被更新。
现在,添加新类的流程如下:
在创建类选项卡下,管理员设置类的范围。例如:1 级到 10 级。
-
然后管理员选择如何添加部分,类的强度。
2.i.如果他选择1by1选项,那么他需要选择每个班级,班级和班级强度。
2.ii。如果他选择分组选项,那么上述所有班级将立即具有相同的班级数量和班级强度。
这是我的数据库。
&这是我的前端。
没有错误消息,但是数据库没有更新。所以,这段代码中一定有我遗漏的东西。请帮助我纠正并使此代码正常工作。
我的代码如下所示:
Private Sub btnCCSave_Click(sender As Object, e As EventArgs) Handles btnCCSave.Click
If MsgBox("You are going to add new classes into your database." + vbCrLf + vbCrLf + "Are you sure?", vbInformation + vbYesNo, "Add new classes.") = vbYes Then
If rb_1by1.Checked = True Then
con.Open()
Try
Using cmd As New SqlCommand("INSERT INTO STDMS_ClassDetails(Class_ID, Section, Class_Strength) VALUES(@d1, @d2, @d3)", con)
With cmd
For i As Integer = 1 To updownTotalSections.Value
.Parameters.AddWithValue("@d1", Integer.Parse(cbCCClass.Text))
Select Case i
Case 1
.Parameters.AddWithValue("@d2", "A")
Exit Select
Case 2
.Parameters.AddWithValue("@d2", "B")
Exit Select
Case 3
.Parameters.AddWithValue("@d2", "C")
Exit Select
Case 4
.Parameters.AddWithValue("@d2", "D")
Exit Select
Case 5
.Parameters.AddWithValue("@d2", "E")
Exit Select
End Select
.Parameters.AddWithValue("@d3", updownTotalStrength.Value)
Next
End With
End Using
con.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
ElseIf rb_Group.Checked = True Then
Try
MsgBox("try")
For i As Integer = updownLB.Value To updownUP.Value
MsgBox("for i = " + i.ToString)
For j As Integer = 1 To updownTotalSections.Value
MsgBox("for j = " + j.ToString)
con.Open()
MsgBox("con open")
Using cmd As New SqlCommand("INSERT INTO STDMS_ClassDetails(Class_ID, Section, Class_Strength) VALUES(@d1, @d2, @d3)", con)
With cmd
MsgBox("Ready query and cmd")
.Parameters.AddWithValue("@d1", i)
MsgBox("added first col")
Select Case j
Case 1
MsgBox("case1")
.Parameters.AddWithValue("@d2", "A")
MsgBox("added1")
Exit Select
Case 2
MsgBox("case2")
.Parameters.AddWithValue("@d2", "B")
MsgBox("added2")
Exit Select
Case 3
MsgBox("case3")
.Parameters.AddWithValue("@d2", "C")
MsgBox("added3")
Exit Select
Case 4
MsgBox("case4")
.Parameters.AddWithValue("@d2", "D")
MsgBox("added4")
Exit Select
Case 5
MsgBox("case5")
.Parameters.AddWithValue("@d2", "E")
MsgBox("added5")
Exit Select
End Select
MsgBox("out of select")
.Parameters.AddWithValue("@d3", updownTotalStrength.Value)
MsgBox("added strength")
con.Close()
MsgBox("closed")
End With
End Using
MsgBox("end")
Next
Next
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End If
End If
End Sub
End Class
【问题讨论】:
-
你从不执行查询
-
哈哈...我的错...谢谢
-
你需要执行你的命令。只需在循环中添加 cmd.ExecuteNonQuery(最后)。
-
术语:您所说的“数据库”实际上在 SQL DBMS 中称为“表”。数据库包含您的表(以及视图、存储过程和其他 SQL 对象)。
标签: sql sql-server vb.net