user可能是SQL的关键字,改个名试试

解决方案 »

  1.   

    我的数据库中user表中只有id || username  ||   password  字段
      

  2.   

    没什么功能
    测试数据库的连接啊
    原代码如下:
    ***********************************************************
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:\my_net\text1\database\db.mdb")
            conn.Open()
            Dim ds As DataSet = New DataSet()
            Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM USER", conn)
            Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter)
            objadapter.Fill(ds, "users")
            Dim drow As Data.DataRow
            drow = ds.Tables("users").NewRow
            'drow = ds.Tables("user")
            drow(1) = "zhonghua"
            drow(2) = "xiongshi"
            ds.Tables("users").Rows.Add(drow)
            drow = ds.Tables("users").NewRow
            drow(1) = "china"
            drow(2) = "first"
            ds.Tables("users").Rows.Add(drow)
            objadapter.Update(ds, "users")    End Sub
      

  3.   

    我在SQL SERVER中试过了,你的表名USER是关键字,请你把user表的表名改成其它的试试
      

  4.   

    Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM USER", conn)
    行 24:         Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter)
    行 25:         objadapter.Fill(ds, "users")//这一行变为红色
    行 26:         Dim drow As Data.DataRow
    行 27:         drow = ds.Tables("users").NewRowUSER是SQLSERVER 的关键字。
    将USER加上[]即可。
       Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM [USER]", conn)
    行 24:         Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter)
    行 25:         objadapter.Fill(ds, "users")//这一行变为红色
    行 26:         Dim drow As Data.DataRow
    行 27:         drow = ds.Tables("users").NewRow
      

  5.   

    改完后又出现这个错误提示****************************************************************************
    INSERT INTO 语句的语法错误。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。源错误: 
    行 34:         drow(2) = "first"
    行 35:         ds.Tables("users").Rows.Add(drow)
    行 36:         objadapter.Update(ds, "users")//着行变为红色
    行 37: 
    行 38:     End Sub
     
      

  6.   

    Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM USER", conn)
            objadapter.Fill(ds, "users")
            Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter)
    换个位置试试
      

  7.   

    难道用INSERT的SQL不好吗,为什么要用这个方法呢
    数据库能自己处理的,为什么不交给数据库呢,为什么非要在程序内存里面建立虚拟表呢
      

  8.   

    你把表换个名字试试,最后不要用USER呀什么关键字,很容易出错的
      

  9.   

    user已经改掉
    表中主键为id
      

  10.   

    在你的insert语句中的user表名
    也要写成[user]
      

  11.   

    这一句:
    Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter)
    是不是可以不要。
      

  12.   

    代码如下:::(表名已改为us)
    **********************************************************
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:\my_net\text1\database\db.mdb")
            conn.Open()
            Dim ds As DataSet = New DataSet()
            Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM us", conn)
            objadapter.Fill(ds, "duser")
            Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter)        Dim drow As Data.DataRow
            drow = ds.Tables("duser").NewRow
            'drow = ds.Tables("user")
            drow(1) = "zhonghua"
            drow(2) = "xiongshi"
            ds.Tables("duser").Rows.Add(drow)
            drow = ds.Tables("duser").NewRow
            drow(1) = "china"
            drow(2) = "first"
            ds.Tables("duser").Rows.Add(drow)
            objadapter.Update(ds, "duser")    End Sub
      

  13.   

    我曾经也喜欢用一些关键字之类的作字段。。
    呵呵。。可是和你一样找不出错误。都是关键字惹的祸!!!!!!!!!!!
    快改掉那个 password的字段
    应该没有问题拉
      

  14.   

    I 服了 you!!!!!!!!!!

    又有新的一个问题〉〉????
    *********************************************
    “/text1”应用程序中的服务器错误。
    --------------------------------------------------------------------------------操作必须使用一个可更新的查询。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。源错误: 
    行 35:         drow(2) = "first"
    行 36:         ds.Tables("duser").Rows.Add(drow)
    行 37:         objadapter.Update(ds, "duser")
    行 38: 
    行 39:     End Sub
     
      

  15.   

    原代码
    *************************************
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:\my_net\text1\database\db.mdb")
            conn.Open()
            Dim ds As DataSet = New DataSet()
            Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM us", conn)
            objadapter.Fill(ds, "duser")
            Dim ogjcmbud As New OleDb.OleDbCommandBuilder(objadapter)        Dim drow As Data.DataRow
            drow = ds.Tables("duser").NewRow
            'drow = ds.Tables("user")
            drow(1) = "zhonghua"
            drow(2) = "xiongshi"
            ds.Tables("duser").Rows.Add(drow)
            drow = ds.Tables("duser").NewRow
            drow(1) = "china"
            drow(2) = "first"
            ds.Tables("duser").Rows.Add(drow)
            objadapter.Update(ds, "duser")    End Sub
      

  16.   

    我没有试过,但我认为
    Dim ds As DataSet = New DataSet()
    这句表明你没有生成自己的DataSet对象,我认为这地方你应该尝试用继承于DataSet对象的对象,不应该用这个基本类
      

  17.   

    行 25:         objadapter.Fill(ds, "users")//这一行变为红色
    将user 改为 "user" 试试
      

  18.   

    Sqlstring = "SELECT * FROM USER";
    string con="server=计算机名;database=数据库名;uid=sql用户名;password=";
    SqlConnection conn = new SqlConnection(con);
    conn.Open();
    SqlDataAdapter MyConn = new SqlDataAdapter(Sqlstring,conn);
    DataSet ds = new DataSet();异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。
       是不是要将Sqlstring = "SELECT * FROM USER"呀,这样可以改变。
      

  19.   

    楼上老兄你那是sql server数据库吧
    我用的access数据库啊
      

  20.   

    这种方法连接sql server成功
    access却不行
      

  21.   

    看清楚点好不好:
    Dim objadapter As New OleDb.OleDbDataAdapter("SELECT * FROM USER", conn)
    objadapter.Fill(ds, "users")select语句里的表是User, 而fill语句里的是user"s", 多了一个s,根本就没有这个表.