给你连接的数据库用户,赋予dba权限

解决方案 »

  1.   

    进sql/plus输入:
    GRANT DBA TO 用户名;
    GRANT SELECT any table to 用户名;
      

  2.   

    我用的是ACCESS,不是SQL SERVER。
      

  3.   

    你的表名是什么? 可能是一个类似order的单词吧 用什么编程? asp?
    类似的改你的表名为 order1 
      

  4.   

    我的表名是charger,不会有问题吧?编程用VB6.0
      

  5.   

    你照我说的试试,列名也看看.
    本着神秘主义的原则,没有什么是不可能的是rdo吗?系统报什么错?
      

  6.   

    刚才我记错了,表名是英文缩写加数字,列名是P_No和P_Name之类,不会有问题的。我用ado,系统显示错误号:3251,内容:对象或提供者不能执行所需操作。
      

  7.   

    你的access数据库不会是开着吧?独占啊.?
    你这么问太不清楚
    你的裱结构, 你的sql语句全贴上来.
      

  8.   

    InsCmd = "CREATE TABLE " + mTitleName + " (P_No SHORT,P_Name TEXT)"
    Con.Execute InsCmd
    mTitleName是存放表名的String变量。
    然后执行:
    rs1.Open mTitleName, Con, adOpenDynamic
    rs1.AddNew
    开始报错。
      

  9.   

    con=?????
    rs1.Open mTitleName, Con, adOpenDynamic
      

  10.   

    con是Connection对象
    程序开头执行了
    Con.Open ("Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" _
    + "d:\manager\manager.mdb")
      

  11.   

    to: csdn3ks(3ks)
    希望能多帮帮我,会给你分的。
      

  12.   

    rs.open sql,con,1,1
    你没有sql语句呀
      

  13.   

    to: zhudexiang(阿祥) 
    程序改后结果不变。你加的那句话是什么意思?
      

  14.   

    你可以用ado.recordset对象的Supports方法查看打开的记录集是否支持Addnew方法,不支持请改用其他对应的游标类型及锁的类型,建议你使用adLockOptimistic锁和adOpenKeyset游标试试
      

  15.   

    应该是这样的吧:
    VB6+ADO+ACCESS的组合中,provider根本就不支持RecordSet.AddNew方法。所以你就不能用ADO的RecordSet.AddNew去添加记录了。这种情况一般应该调用Supports()方法测试以下最好。
    改用SQL,再调用RecordSet.Open就可以添加一条新记录了。
    代码如下:
    dim adords as new Adodb.recordsetwith adords
    .Connection=连接字符串
    .Source='insert into 表名 values(......)'
    .Open
    end with
      

  16.   

    对不起 我记错了,应该是 AdoDb.Command对象的Execute方法,真的对不起,明天告诉你正确的代码!
      

  17.   

    是不是数据库文件只读或者在ntfs分区下没有授予访问权,我以前碰到过。
      

  18.   

    我用adoDB.Command的Execute方法可以添加记录,但添加完后用Recordset的open方法打开后,查看RecordCount=-1,而且不能用AddNew方法,不知为什么,我用adOpenKeyset和adOpenDynamic游标都试了,现象都一样。谁能提供几个关于VB+ACCESS的URL吗?谢谢!
      

  19.   

    因为DATA PROVIDER OLEDB FOR JET 不支持ADDNEW方法,所以出错了。建议在使用ADDNEW等方法时先用SUPPORTS()方法测试数据提供者是否支持。
    添加记录只能用SQL语句了:
    dim adocon as new adodb.connection
    dim adords as adodb.recordset
    with adocon
    .connection="连接字符串"
    .source="insert into tablename values(记录的内容)"
    .execute
    end with或者用command对象的 exexcute 方法:
    dim adocom as new adodb.command
    with adocom
    .commandtext="insert into tablename values(记录的内容)"
    .commandtype=
    .execute
    end with还有一种最简单的办法,就是数据提供者使用ODBC for jet,它支持ADODB.RECORDSET.ADDNEW方法。
    试试这个办法,不会错的。
      

  20.   

    因为DATA PROVIDER OLEDB FOR JET 不支持ADDNEW方法,所以出错了。建议在使用ADDNEW等方法时先用SUPPORTS()方法测试数据提供者是否支持。
    添加记录只能用SQL语句了:
    dim adocon as new adodb.connection
    dim adords as adodb.recordset
    with adocon
    .connection="连接字符串"
    .source="insert into tablename values(记录的内容)"
    .execute
    end with或者用command对象的 exexcute 方法:
    dim adocom as new adodb.command
    with adocom
    .commandtext="insert into tablename values(记录的内容)"
    .commandtype=
    .execute
    end with还有一种最简单的办法,就是数据提供者使用ODBC for jet,它支持ADODB.RECORDSET.ADDNEW方法。
    试试这个办法,不会错的。
      

  21.   

    以下代码段通过测试,原因是打开Recordset时没有加LockType,不加的话默认值为adLockUnsepcified,所以不能用AddNew。Dim con As ADODB.Connection
    Set con = New ADODB.Connection
    con.CursorLocation = adUseClient
    con.Open "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=D:\db1.mdb"InsCmd = "CREATE TABLE test (P_No SHORT,P_Name TEXT)"
    con.Execute InsCmdDim rs1 As ADODB.Recordset
    Set rs1 = New ADODB.Recordset
    rs1.CursorLocation = adUseClient
    rs1.Open "test", con, adOpenDynamic, adLockBatchOptimistic
    rs1.AddNew
    rs1!p_no = 1
    rs1!p_name = "abc"
    rs1.UpdateBatchrs1.Close
    con.Close
      

  22.   

    以下代码段通过测试,原因是打开Recordset时没有加LockType,不加的话默认值为adLockUnsepcified,所以不能用AddNew。Dim con As ADODB.Connection
    Set con = New ADODB.Connection
    con.CursorLocation = adUseClient
    con.Open "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=D:\db1.mdb"InsCmd = "CREATE TABLE test (P_No SHORT,P_Name TEXT)"
    con.Execute InsCmdDim rs1 As ADODB.Recordset
    Set rs1 = New ADODB.Recordset
    rs1.CursorLocation = adUseClient
    rs1.Open "test", con, adOpenDynamic, adLockBatchOptimistic
    rs1.AddNew
    rs1!p_no = 1
    rs1!p_name = "abc"
    rs1.UpdateBatchrs1.Close
    con.Close
      

  23.   

    以下代码段通过测试,原因是打开Recordset时没有加LockType,不加的话默认值为adLockUnsepcified,所以不能用AddNew。Dim con As ADODB.Connection
    Set con = New ADODB.Connection
    con.CursorLocation = adUseClient
    con.Open "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=D:\db1.mdb"InsCmd = "CREATE TABLE test (P_No SHORT,P_Name TEXT)"
    con.Execute InsCmdDim rs1 As ADODB.Recordset
    Set rs1 = New ADODB.Recordset
    rs1.CursorLocation = adUseClient
    rs1.Open "test", con, adOpenDynamic, adLockBatchOptimistic
    rs1.AddNew
    rs1!p_no = 1
    rs1!p_name = "abc"
    rs1.UpdateBatchrs1.Close
    con.Close
      

  24.   

    用SQL的INTERT试一试用ADDNEW不是很的我认为