username和email是数据库access里的字段
txtname和email是提供修改的文本框
当我执行代码时,没有任何提示,就是修改不了,但如果我把sql语句改成delete来执行是可以的,为什么?
Dim conn As OleDbConnection
        Dim provider = "provider=microsoft.jet.oledb.4.0"
        Dim database = "data source=" & Server.MapPath("data/news.mdb")
        conn = New OleDbConnection(provider & ";" & database)
        conn.Open()
        Dim sql As String
        Dim cmd As OleDbCommand
        sql = "update users set username='" + Txtname.Text + "',email='"+ email.text +"' where id=" & Request("id")
        cmd = New OleDbCommand(sql, conn)        cmd.ExecuteNonQuery()
        conn.Close()

解决方案 »

  1.   

    直接写完整的UPDATE语句也不行吗? 检查数据库看看是否没设置主键?
      

  2.   

    但我删除该条是可以的,为什么用update不行,数据库里字段id是主键,request("id")是上页传过来的
      

  3.   

    sql = "update users set username='" + Txtname.Text + "',email='"+ email.text +"' where id= '"+ Request("id")+"' "
      

  4.   

    你把  sql  Response出来就知道错在那了
      

  5.   

    sql = "update users set username='" + Txtname.Text + "',email='"+ email.text +"' where id= '"+ Request("id")+"' "
    如果这样,类型会不匹配的
    请哪位高手给我指点一下,求你了!!!!
      

  6.   

    我试出来了,我修改后的值不能记录到txtname.text里,txtname.text保留的还是以前的txtname.text里的值,怎么办?
      

  7.   

    你的编辑更新是用的datagrid默认的按钮模是还是你自己另外做的文本控件?
      

  8.   

    最好你单步调试下,看看和txtname相关的代码