我尝试使用下面的代码将记录插入到我的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
为您编辑它。 –