【发布时间】:2013-04-20 11:23:52
【问题描述】:
我正在设计一个允许用户使用信息更新数据库的网站。我遇到的问题是我创建了在页面加载时隐藏的各种控件,但用户可以单击取消隐藏以添加其他信息。
我遇到的问题是编写 sql 语句来处理识别使用的控件。我有一个视图状态计数,让我知道哪些面板可见或不可见。
ViewState("count") = CInt(ViewState("count")) + 1
Label1.Text = ViewState("count").ToString()
然后我编写 SQL 查询的代码如下所示
Protected Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim myConn As SqlConnection
Dim cmd As SqlCommand
Dim sqlstring As String
Dim dd As String
Dim mm As String
Dim yy As String
dd = Left(TextBox1.Text, 2)
mm = Mid(TextBox1.Text, 4, 2)
yy = Right(TextBox1.Text, 4)
myConn = New SqlConnection("xxx")
myConn.Open()
Select Case Label1.Text
Case Is = "0"
sqlstring = "INSERT INTO Transactions (Date, Account, Payee, Chq_Num, Reference, GST_Rate, Amount, Document_Number, Bank_Account) VALUES ('" & yy & "-" & mm & "-" & dd & "','" & DropDownList3.SelectedValue & "','" & TextBox3.Text & "','" & TextBox5.Text & "','" & TextBox4.Text & "'," & DropDownList2.SelectedValue & "," & TextBox6.Text & "," & TextBox27.Text & ",'" & DropDownList1.SelectedValue & "')"
Case Is = "1"
sqlstring = "INSERT INTO Transactions (Date, Account, Payee, Chq_Num, Reference, GST_Rate, Amount, Document_Number, Bank_Account) VALUES ('" & yy & "-" & mm & "-" & dd & "','" & DropDownList3.SelectedValue & "','" & TextBox3.Text & "','" & TextBox5.Text & "','" & TextBox4.Text & "'," & DropDownList2.SelectedValue & "," & TextBox6.Text & "," & TextBox27.Text & ",'" & DropDownList1.SelectedValue & "') VALUES ('" & yy & "-" & mm & "-" & dd & "','" & DropDownList4.SelectedValue & "','" & TextBox7.Text & "','" & TextBox9.Text & "','" & TextBox8.Text & "'," & DropDownList5.SelectedValue & "," & TextBox10.Text & "," & TextBox27.Text & ",'" & DropDownList1.SelectedValue & "')"
End Select
cmd = New SqlCommand(sqlstring, myConn)
cmd.ExecuteNonQuery()
myConn.Close()
Response.Redirect(Request.RawUrl, True)
End Sub
我的问题在于选择案例,因为当案例为 1 时,它只插入第一个值而不是第二个集合。我最多有 6 个“案例”可供选择,每次都添加一组额外的值。 sql server是2008
感谢任何帮助
【问题讨论】:
-
错误内容是什么?
-
没有错误,只有第一组值被插入
-
在 ExecuteNonQuery 之前执行 sqlstring 的 DEBUG.PRINT 并尝试在 SSMS 中运行它。我认为它会显示语句 2 以后的错误。
-
对,所以问题是当我单击我的发布按钮将事务插入我的 SQL 数据库时,标签文本仍然是 0,但在我的页面上清楚地显示 1 或 2 等任何想法为什么它没有拾取真正的价值?
-
现在全部排序,我将 label.text 传递给一个隐藏的文本框,现在它可以工作了,感谢 Richard 的帮助
标签: asp.net sql sql-server-2008