ExecuteNonQuery() 用于不返回数据集的场近,你确定你的Select statement has no returning set ?

解决方案 »

  1.   

    你是不是用DataAdapter的Update方法更新数据库的?
    记得以前用这种方式更新数据库的时候由于被更新的数据表没有主键会出现这样的错误提示的。----------------------------------------------------------------
    欢迎试用ASP.NET大文件上传组件
    http://bestcomy.europe.webmatrixhosting.net
    ----------------------------------------------------------------
      

  2.   

    你用的如果是Access数据库的话
    须要经数据所在的目录添加一个Evrryone用户,并给它写的写的权限就行了,
    祝好运~!
      

  3.   

    多半又是access NTFS的问题。
      

  4.   

    这个很简单了,只要添加ASPNET帐户就可以了。具体你把源码贴出来我帮你看看应该如何来添加!!
      

  5.   

    <%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" Debug=true %><%@ Import NameSpace="System.Data" %>
    <%@ Import NameSpace="System.Data.OleDb" %><html>
    <head>
    <script Language="VB" RunAt="Server">Dim objConn As OleDbConnection
    Dim strSQL As String
    '检查是否有重复帐号
    Function Check_ID(account As String) As Boolean Dim objDR As OleDbDataReader
     Dim objCmd As OleDbCommand
     
     strSQL = "select * from UserDates where useraccount= '" & account & "' "
     
     objCmd = New OleDbCommand (strSQL, objConn)
     
     objCmd.Connection.Open()
     
     objDR = objCmd.ExecuteReader()
     
      Check_ID = False
     While objDR.Read()
      Check_ID = True
     End WhileobjCmd.Connection.Close()
    End Function
    '添加信息到数据库
    Sub Insert_Dates(Sender As Object, E As EventArgs)
    Dim objCmd As OleDbCommand
    Dim strSQL, strDSN As StringDim UserAccount, PassWord, UserName, EMail, Address As String
     
     UserAccount = Request.Form("text1")
     PassWord = Request.Form("text2")
     UserName = Request.Form("text3")
     Email = Request.Form("text4")
     Address = Request.Form("text5") strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/BOOKSHOP/bsdb.mdb") objConn = New OleDbConnection(strDSN)
     
     If Not Check_ID(UserAccount) Then
        strSQL = "Insert Into UserDates values('" & UserAccount &"', '" & _
       PassWord &"', '" & UserName & "', '" & EMail & "', '" & Address &"')"

    objConn = New OleDbConnection(strDSN)
    objCmd = New OleDbCommand (strSQL, objConn)

    objCmd.Connection.Open()
        
    objCmd.ExecuteNonQuery()
       
    objCmd.Connection.Close()

    Response.Write("Success")
     Else
        Response.Write("Fail")
    Response.Write("<hr><a href ='javascript:history.go(-1)'>")
    Response.Write("上一页</a>")
     End If
    End Sub </script>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>注册页面</title>
    </head>
    <body>
    <h2 class="style1">欢迎注册</h2><table width="765" border="0">
      <tr>
        <td height="350">
    <form  method="post" name="insert" runat="server">
      <ul>
      帐号:<li> <asp:TextBox ID="text1" runat="server" MaxLength="20" /> <br>
      密码:<li> <asp:TextBox ID="text2" runat="server" TextMode="Password" /><br>
      姓名:<li> <asp:TextBox ID="text3" runat="server" /> <br>
      E-Mail:<li><asp:TextBox ID="text4" runat="server" MaxLength="40" /><br>
      地址<br><asp:TextBox ID="text5" runat="server" MaxLength="40" /> <br>
      </ul>
    <p>
    <asp:Button ID="Button" Text="注册" OnClick="Insert_Dates" runat="server" /> 
    </p>
          </form>      </td>
      </tr>
    </table>
    </body>
    </html>
      

  6.   

    源码已贴出了,我是使用access 2003的.................还请帮忙看看是否有其它毛病.....
      

  7.   

    设了........设了一个"UserID"为主键
      

  8.   

    问题还没解决吗,你的操作系统是fat32的 aspnet没有默认权限  最好给你的database数据库开写权限
    如果是XP或windows2003,工具->文件夹选项->取消简单文件共享
    MDB文件->右键->添加everyone完全权限
      

  9.   

    我用的是xp,NTFS分区.不知怎样将数据库开写权限?好像"文件夹选项下"没有相关的设置.........
    上面那位 wggwan(明天会更好) 大哥,源码贴出来了.....不知怎样添加asp.net帐户?
      

  10.   

    怎样赋予asp.net的权限,我的是NTFS分区!
    此问题急待解决,请大家帮帮忙!