注册 登录
编程论坛 ASP.NET技术论坛

[求助]delete不到database records(参考www.asp101.com的sample做的)

wcchyau 发布于 2007-05-07 00:26, 693 次点击

<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data" %>
<HTML>
<script language="VB" runat="server">

Sub Page_Load(Sender As Object, E As EventArgs)
Dim objConn As New oleDbConnection
objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"
objConn.ConnectionString+= "Data Source= " & Server.MapPath("Account.mdb")
ShowDataGrid()
End Sub

Sub ShowDataGrid()
Dim objCommand As oleDbCommand
Dim strSQLQuery As String
Dim objConn As New oleDbConnection
objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"
objConn.ConnectionString+= "Data Source= " & Server.MapPath("Account.mdb")

strSQLQuery = "SELECT * FROM ordered;"

objCommand = New OleDbCommand(strSQLQuery, objConn)
objConn.Open()

OP.DataSource = objCommand.ExecuteReader(CommandBehavior.CloseConnection)
OP.DataBind()

objConn.Close()
End Sub

Sub Delete(source As Object, E As DataGridCommandEventArgs)
Dim objCommand As oleDbCommand
Dim strSQLQuery As String
Dim objConn As New oleDbConnection
objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"
objConn.ConnectionString+= "Data Source= " & Server.MapPath("Account.mdb")

strSQLQuery = "DELETE FROM ordered WHERE No=" & OP.DataKeys(E.Item.ItemIndex) & ";"

objCommand = New OleDbCommand(strSQLQuery, objConn)
objConn.Open()
objCommand.ExecuteNonQuery()
objConn.Close()
ShowDataGrid()

End Sub


</script>
<body>
<form runat="server" ID="Form1">
<asp:DataGrid id="OP" runat="server" DataKeyField="No">
<Columns>
<asp:ButtonColumn Text="Delete" CommandName="Delete"></asp:ButtonColumn>
</Columns>
</asp:DataGrid>
</form>
<p>
</p>
</body>
</HTML>
3 回复
#2
wcchyau2007-05-07 00:27
database是显示出来了,但按delete时却不能像sample般把record delete掉
strSQLQuery = "DELETE FROM ordered WHERE No=" & OP.DataKeys(E.Item.ItemIndex) & ";"
感觉上是这行code的问题,但却不知为什么。
能否给些指教呢?谢谢
#3
川流不息2007-05-07 08:47
strSQLQuery = "DELETE FROM ordered WHERE No=" & OP.DataKeys(E.Item.ItemIndex) & ";"


你把它輸出來後在查詢分析器裡面運行,看能不能夠成功。如果不能成功的話就是語句的問題,如果成功就是程式的問題,那就要再研究。
#4
tel19822007-05-07 09:45

我觉得好像你的程式语句有错误。
Sub Delete(source As Object, E As DataGridCommandEventArgs)
Dim objCommand As oleDbCommand
Dim strSQLQuery As String
Dim objConn As New oleDbConnection
objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"
objConn.ConnectionString+= "Data Source= " & Server.MapPath("Account.mdb")
objConn.Open()
strSQLQuery = "DELETE FROM ordered WHERE No=" & OP.DataKeys(E.Item.ItemIndex) & ";" objCommand = New OleDbCommand(strSQLQuery, objConn)

objCommand.ExecuteNonQuery()
objConn.Close()
ShowDataGrid()
End Sub
是不是应该这样呀?
你试一试。

1