Dim conn As New SqlConnection
        conn.ConnectionString = "data source=localhost;initial catalog=HolidaysTest;user id=aa;password=aa;"
        Dim sqlupdate As String
        sqlupdate = "update voteDetails set voteNum=voteNum+1 where voteid=" & voteid & "and votedetailID=" & rbtnItems.SelectedValue.tostring & ""
        conn.Open()
        Dim cmd As New SqlCommand(sqlupdate, conn)
        cmd.ExecuteNonQuery()
        conn.Close()
       
当运行到 cmd.ExecuteNonQuery()出错,说是sql语句中的等号附近有错误。我找不出错在哪里。帮忙看看。。在线等

解决方案 »

  1.   

    vb.net不用改...问题不在这里吧
      

  2.   

    sqlupdate = "update voteDetails set voteNum=voteNum+1 where voteid=" & voteid & "and votedetailID=" & rbtnItems.SelectedValue.tostring & ""这句后面加上Response.Write(sqlupdate);retrun;
    输出sql语句看看有没有错我猜你肯定是voteid的值没有拿到
      

  3.   

    To"我猜你肯定是voteid的值没有拿到"
    我可以获取voteid了啊:
    页面加载时做这个
    '创建连接
            Dim conn As New SqlConnection
            conn.ConnectionString = "data source=localhost;initial catalog=HolidaysTest;user id=aa;password=aa;"
            '查询选举标题
            Dim sqltitle As String = "select voteTitle from voteMaster where voteID =" & voteid & ""
            conn.Open()
            Dim cmd As New SqlCommand(sqltitle, conn)
            Dim strtitle As String
            strtitle = cmd.ExecuteScalar
            lbltitle.Text = strtitle
            '查询对应的投票项目
            Dim sqlitem As String = "select votedetailID,voteItem from votedetails where voteID =" & voteid & ""
            Dim cmditem As New SqlCommand(sqlitem, conn)
            Dim sdr As SqlDataReader = cmditem.ExecuteReader()
            rbtnItems.DataSource = sdr
            rbtnItems.DataTextField = "voteItem"
            rbtnItems.DataValueField = "votedetailID"
            rbtnItems.DataBind()
            sdr.Close()
            conn.Close()
      

  4.   

    Response.Write(sqlupdate);retrun;把输出的语句贴上来看看
      

  5.   

    我将sqlupdate = "update voteDetails set voteNum=voteNum+1 where voteid=" & voteid & "and votedetailID=" & rbtnItems.SelectedValue.tostring & ""
    改成sqlupdate = "update voteDetails set voteNum=voteNum+1 where voteid=" & voteid& ""
    时就可以更新数据库表的所有记录,这里我只作选中的那条记录更新,问题到底出在哪里啊
      

  6.   

    执行不到cmd.ExecuteNonQuery()
    输不出sql 语句啊 ·
    我也尝试输出过,可不成功。
    看看具体错误吧:
    第 1 行: '=' 附近有语法错误。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 第 1 行: '=' 附近有语法错误。源错误: 
    行 35:         conn.Open()
    行 36:         Dim cmd As New SqlCommand(sqlupdate, conn)
    行 37:         cmd.ExecuteNonQuery()
    行 38:         conn.Close()
    行 39:         Response.Write(sqlupdate)
     源文件: D:\HolidaysTest\vote\vote.aspx.vb    行: 37 堆栈跟踪: 
    [SqlException (0x80131904): 第 1 行: '=' 附近有语法错误。]
       System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +95
       System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +82
       System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +346
       System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +3244
       System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) +272
       System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +367
       System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +149
       _Default.btnvote_Click(Object sender, EventArgs e) in D:\HolidaysTest\vote\vote.aspx.vb:37
       System.Web.UI.WebControls.Button.OnClick(EventArgs e) +96
       System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +116
       System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +31
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +72
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3838 
    --------------------------------------------------------------------------------
    版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42
      

  7.   

    加个断点,把SQL语句抓出来放到查询分析器里执行一下。
      

  8.   

    Dim conn As New SqlConnection
    conn.ConnectionString = "data source=localhost;initial catalog=HolidaysTest;user id=aa;password=aa;"
    Dim sqlupdate As String
    sqlupdate = "update voteDetails set voteNum=voteNum+1 where voteid=" & voteid & "and votedetailID=" & rbtnItems.SelectedValue.tostring & ""
    'conn.Open()
    'Dim cmd As New SqlCommand(sqlupdate, conn)
    'cmd.ExecuteNonQuery()
    'conn.Close()
    Response.Write(sqlupdate)  ‘这个我不知道vb.net怎么写你把下面操作的全部注释掉然后输出sql语句
      

  9.   

    我在家机子没拉网线,现在我是跑到网吧来上往的`
    我把在我机子出现的错误都搬来这里了啊``
    TO firsk(杰少) 
    Dim conn As New SqlConnection
    conn.ConnectionString = "data source=localhost;initial catalog=HolidaysTest;user id=aa;password=aa;"
    Dim sqlupdate As String
    sqlupdate = "update voteDetails set voteNum=voteNum+1 where voteid=" & voteid & "and votedetailID=" & rbtnItems.SelectedValue.tostring & ""
    'conn.Open()
    'Dim cmd As New SqlCommand(sqlupdate, conn)
    'cmd.ExecuteNonQuery()
    'conn.Close()
    Response.Write(sqlupdate)  
    这样子肯定输不出SQL语句吧.
    我用一个单选按钮来绑定数据的啊
    选中一项单击"提交"就出错......
    啊...........
      

  10.   

    voteid,votedetailID是什么类型的?如果是char或(n)varchar,最好加'',你可以在sql server里试一下,再把代码拷过来就行了
      

  11.   

    sqlupdate = "update voteDetails set voteNum=voteNum+1 where voteid=" &  voteid & "    and votedetailID=" & rbtnItems.SelectedValue.tostring and 前面加空格