0
我創建了一個表單來更新訪問數據庫表。我的問題是,當文本框中的文本發生更改並且表單被提交時,.text
的值與datareader
在頁面加載事件中加載它們時的值保持不變。我如何提交用戶更新的值,而不是頁面加載時已存在的值。從pageload事件更改文本框的值,提交新值問題
代碼:
Public Property vehicleid As Integer
Public Property connstring As String = "myconnectionstring..."
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
vehicleid = Integer.Parse(Request.QueryString("vehicID"))
Dim svEnterdate, stocknum, make, model, color As String
Dim conn As New OleDbConnection(connstring)
Dim sql As String = "select * from vehicle where [email protected]"
Dim cmd As New OleDbCommand(sql, conn)
cmd.Parameters.AddWithValue("@vid", vehicleid)
conn.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader
While dr.Read
svEnterdate = dr("enterdate").ToString()
stocknum = dr("stock_num").ToString()
make = dr("make").ToString()
model = dr("model").ToString()
color = dr("color").ToString()
End While
conn.Close()
EnterDateTXT.Text = svEnterdate
StockNumTXT.Text = stocknum
MakeTxt.Text = make
ModelTXT.Text = model
ColorTxt.Text = color
End Sub
'inbetween these 2 events the user can manipulate all the controls .text values, yet the
' .text values of the submitted controls below are the same as the ones filled by the
'datareader
Protected Sub SubmitBTN_Click(ByVal sender As Object, ByVal e As EventArgs) Handles SubmitBTN.Click
Dim conn As New OleDbConnection(connstring)
Dim sql As String = "UPDATE Vehicle" & _
" SET [email protected], [email protected], [email protected], [email protected], [email protected] " & _
"WHERE [email protected]"
Dim cmd As New OleDbCommand(sql, conn)
cmd.Parameters.AddWithValue("@vid", vehicleid)
cmd.Parameters.AddWithValue("@stock", StockNumTXT.Text)
cmd.Parameters.AddWithValue("@make", MakeTxt.Text)
cmd.Parameters.AddWithValue("@model", ModelTXT.Text)
cmd.Parameters.AddWithValue("@color", ColorTxt.Text)
cmd.Parameters.AddWithValue("@enter", EnterDateTXT.Text)
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
End Sub
認爲,就提交正確的值解決了這個問題,但現在我沒有看到我的數據庫中的任何改變。因爲我在調試時沒有收到任何錯誤 – JDV590 2011-12-23 02:13:52
在調用executeNonQuery之前放置一個斷點,並檢查變量「sql」的值是什麼,並在SQL服務器查詢分析器中執行它並執行該錯誤直。你到底在做什麼? – Shyju 2011-12-23 02:16:42
當我將它輸入訪問查詢分析器時,它完美地使用了它,並且我能夠更新該值。我不知道爲什麼它不會通過我的prgram更新 – JDV590 2011-12-23 02:26:03