求救,asp.net(vb)编译出错,请大家帮忙改正!!!!!

ROSUN 2005-03-21 04:34:04
<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<Script Languate="VB" Runat="Server">
'strSQL 为 SQL 语句,FileName 为数据库文件名,TableName 为数据表名称。
Function CreateDataSet(strSQL As String, FileName As String, TableName As String) As DataSet
Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath(FileName)
Dim objCmd As New OleDbDataAdapter(strSQL, ConnString)
Dim DS As New DataSet()
objCmd.Fill(DS, TableName)
CreateDataSet = DS
End Function
</Script>
<Script Language="VB" Runat="Server">
'BindList 过程用来指定数据源,并连接到 DataList 控件
Sub BindList()
Dim strSQL As String = "Select * From 通讯簿"
myDataList.DataSource = CreateDataSet(strSQL, "Address.mdb", "通讯簿")
myDataList.DataBind()
End Sub

Sub Page_Load(sender As Object, e As Eventargs)
If Not IsPostBack Then BindList()
End Sub

'用来进入数据编辑模式
Sub DataList_EditCommand(sender As Object, e As DataListCommandEventArgs)
myDataList.EditItemIndex = e.Item.ItemIndex
BindList()
End Sub

'用来离开数据编辑模式
Sub DataList_CancelCommand(sender As Object, e As DataListCommandEventArgs)
myDataList.EditItemIndex = -1
BindList()
End Sub

'用来执行 SQL 语句,如 Update 及 Delete。
Sub ExecuteSQL(strSQL As String)
Dim objConn As New OleDbConnection()
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("Address.mdb")
objConn.Open()
Dim objCmd As New OleDbCOMMAND(strSQL,objConn)
OBJCMD.EXECUTENONQUERY .......................................................................'这里就是出现异常的语句
End Sub

'用来删除数据
Sub DataList_DeleteCommand(sender As Object, e As DataListCommandEventArgs)
Dim strSQL As String = "Delete From 通讯簿 Where " & _
myDataList.DataKeyField & "=" & myDataList.DataKeys(e.Item.ItemIndex)
ExecuteSQL(strSQL)
myDataList.EditItemIndex = -1
BindList()
End Sub

'用来更新数据
Sub DataList_UpdateCommand(sender As Object, e As DataListCommandEventArgs)
Dim Birthday As String = CType(e.Item.FindControl("Birthday"), TextBox).Text
Dim Tel As String = Ctype(e.Item.FindControl("Tel"), TextBox).Text
Dim UpdateDate As DateTime = DateTime.Now.Date()
Dim strSQL As String = "Update 通讯簿 Set 生日='" & CDate(Birthday) & _
"', 电话='" & Tel & "' Where " & myDataList.DataKeyField & "=" & _
myDataList.DataKeys(e.Item.ItemIndex)
ExecuteSQL(strSQL)
myDataList.EditItemIndex = -1
BindList()
End Sub
</Script>
<Html>
<Body>
<H1 Align="Center">通讯簿管理系统</H1>
<Form Runat="Server">
<Asp:DataList Runat="Server" Id="myDataList" CellPadding="3" Width="500"
HorizontalAlign="Center" OnEditCommand="DataList_EditCommand"
OnUpdateCommand="DataList_UpdateCommand" OnDeleteCommand="DataList_DeleteCommand"
OnCancelCommand="DataList_CancelCommand" DataKeyField="编号"
ExtractTemplateRows="True" Border="1" BorderColor="Blue" GridLines="Horizontal">

<HeaderTemplate>
<Asp:Table Runat="Server" Width="500">
<Asp:TableRow Runat="Server">
<Asp:TableCell Runat="Server" Width="50">
姓名
</Asp:TableCell>
<Asp:TableCell Runat="Server" Width="70">
生日
</Asp:TableCell>
<Asp:TableCell Runat="Server" Width="100">
电话
</Asp:TableCell>
<Asp:TableCell Runat="Server" Width="80">
功能
</Asp:TableCell>
</Asp:TableRow>
</Asp:Table>
</HeaderTemplate>

<ItemTemplate>
<Asp:Table Runat="Server" Width="500">
<Asp:TableRow Runat="Server" HorizontalAlign="Center">
<Asp:TableCell Runat="Server">
<%# Container.DataItem("姓名") %>
</Asp:TableCell>
<Asp:TableCell Runat="Server">
<%# Container.DataItem("生日").ToShortDateString %>
</Asp:TableCell>
<Asp:TableCell Runat="Server">
<%# Container.DataItem("电话") %>
</Asp:TableCell>
<Asp:TableCell Runat="Server">
<Asp:LinkButton Runat="Server" Text="编辑" CommandName="Edit"/>
</Asp:TableCell>
</Asp:TableRow>
</Asp:Table>
</ItemTemplate>

<EditItemTemplate>
<Asp:Table Runat="Server" Width="500">
<Asp:TableRow Runat="Server" HorizontalAlign="Center">
<Asp:TableCell Runat="Server">
<%# Container.DataItem("姓名") %>
</Asp:TableCell>
<Asp:TableCell Runat="Server">
<Asp:TextBox Runat="Server" Id="Birthday" Width="90"
Text='<%# Container.DataItem("生日").ToShortDateString %>' />
</Asp:TableCell>
<Asp:TableCell Runat="Server">
<Asp:TextBox Runat="Server" Id="Tel" Width="130"
Text='<%# Container.DataItem("电话") %>' />
</Asp:TableCell>
<Asp:TableCell Runat="Server">
<Asp:LinkButton Runat="Server" Width="18"
Text="更新" CommandName="Update" />
<Asp:LinkButton Runat="Server" Width="18"
Text="删除" CommandName="Delete" />
<Asp:LinkButton Runat="Server" Width="18"
Text="取消" CommandName="Cancel" />
</Asp:TableCell>
</Asp:TableRow>
</Asp:Table>
</EditItemTemplate>

<HeaderStyle HorizontalAlign="Center" BackColor="#66CCFF" ForeColor="Crimson" />
<ItemStyle BackColor="Moccasin" />
<EditItemStyle BackColor="Lavender" />
</Asp:DataList>
</Form>
</Body>
</Html>

注:数据库名叫"address.mdb",表名叫"通讯簿",里面有四个字段"编号,姓名,生日,电话"
...全文
63 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ROSUN 2005-03-21
  • 打赏
  • 举报
回复
异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。
源错误:
行 44: objConn.Open()
行 45: Dim objCmd As New OleDbCOMMAND(strSQL,objConn)
行 46: OBJCMD.EXECUTENONQUERY() ---------就是错在这,请问各位高手怎样改啊???
行 47: End Sub

源文件: c:\inetpub\wwwroot\11.aspx 行: 46
堆栈跟踪:
[OleDbException (0x80004005): 操作必须使用一个可更新的查询。]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) +41
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +174
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +92
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +65
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +112
System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +66
ASP._11_ASPX.ExecuteSQL(String strSQL) in c:\inetpub\wwwroot\11.aspx:46
ASP._11_ASPX.DataList_UpdateCommand(Object sender, DataListCommandEventArgs e) in c:\inetpub\wwwroot\11.aspx:66
System.Web.UI.WebControls.DataList.OnUpdateCommand(DataListCommandEventArgs e) +109
System.Web.UI.WebControls.DataList.OnBubbleEvent(Object source, EventArgs e) +294
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +26
System.Web.UI.WebControls.DataListItem.OnBubbleEvent(Object source, EventArgs e) +101
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +26
System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +121
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +115
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +138
System.Web.UI.Page.ProcessRequestMain() +1292






wtadminxjeri 2005-03-21
  • 打赏
  • 举报
回复
OBJCMD.EXECUTENONQUERY
|
|
OBJCMD.ExecuteNonQuery()
91bct 2005-03-21
  • 打赏
  • 举报
回复
贴出 出错信息 才好查错
yezie 2005-03-21
  • 打赏
  • 举报
回复
晕,贴关键代码和出错信息

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧