我嘗試使用下面的代碼將記錄插入到我的Access數據庫:記錄插入到Access數據庫產生的空行
<script runat="server">
Dim dbConnection As OleDbConnection
Dim dbCommand As OleDbCommand
Dim dbReader As OleDbDataReader
Dim sqlString As String
Sub page_load()
Try
txtFName.Text = ""
txtLName.Text = ""
dbConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;data source=" & Server.MapPath("MyDatabase.accdb"))
dbConnection.Open()
sqlString = "SELECT * FROM table1 ORDER BY ID"
dbCommand = New OleDbCommand(sqlString, dbConnection)
dbReader = dbCommand.ExecuteReader()
While dbReader.Read()
Dim lblName As Label = New Label()
lblName.ID = dbReader("ID")
lblName.Text = "<b>Name: </b>" & dbReader("F_Name") & " " & dbReader("L_Name") & "<br/><br/>"
lblName.EnableViewState = False
nameArea.Controls.Add(lblName)
End While
dbReader.Close()
Finally
dbConnection.Close()
End Try
End Sub
Sub addToDatabase()
Try
dbConnection.Open()
sqlString = "INSERT INTO table1 (F_Name,L_Name) VALUES (@FName, @LName)"
dbCommand.CommandText = sqlString
dbCommand.Parameters.AddWithValue("@FName", txtFName.Text)
dbCommand.Parameters.AddWithValue("@LName", txtLName.Text)
dbCommand.ExecuteNonQuery()
Finally
dbConnection.Close()
End Try
End Sub
</script>
在下面我的ASP代碼,我有兩個文本框持有first name和last名字,以及一個按鈕,點擊時會調用addToDatabase,和一個佔位符,以顯示每個記錄從數據庫中抽取:
<asp:TextBox ID="txtFName" runat="server" />
<asp:TextBox ID="txtLName" runat="server" />
<asp:Button ID="btnSubmit" Text="Submit" OnClick="addToDatabase" runat="server" />
<br />
<asp:PlaceHolder ID="nameArea" runat="server" />
我訪問數據庫中包含的表名爲table1,有一個ID,F_Name和L_Name場,其DataType分別爲AutoNumber,Text和Text 。
我的問題是,當我點擊btnSubmit時,它將F_Name和L_Name中的空白記錄添加到我的數據庫中,而不是TextBox中的內容,並且繼續在每次瀏覽器刷新時添加空白記錄。
這是怎麼回事?
希望看到您的'Page_Load'代碼,請發佈。 – unlimit
爲您編輯它。 –