使用DAO方式打开SQL Server2000数据库,并且建立一张表A,其中有两个字段分别为字段1(字符类型)、字段2(整型),现在向表中添加记录,提示出错:"can`t update database or object is read-only"。但是我用Enterprise Manger对该表进行写操作是成功的,为何在VC中抱错?代码如下:CString s = "DSN=test;UID=SA;PWD=;";
CDaoDatabase g_db.Open;
g_db.Open(_T(""), FALSE, FALSE, s);
.
.
.
g_pMngDatabase->CreateTable(A,STRING);//建立表A,成功
.
.
.
CDaoRecordset rs(&g_db);
CString sql;
sql = "Select * From A";
rs.Open(dbOpenDynaset, sql);
rs.AddNew();  //-->出错,不允许添加记录

解决方案 »

  1.   

    DAO打开Sql Server?DAO是用来操作mdb文件的。试试odbc方式或者ADO
      

  2.   

    连接数据库用的是ODBC。而且我现在可以打开数据源,也可以建立新表,只是不能对表进行写操作
      

  3.   

    推荐用sql的insert into talbe()...
      

  4.   

    CDaoRecordset rs(&g_db);
    ----------------->
    CRecordset rs(&g_db);
      

  5.   

    如果可能的话,请将代码发至[email protected]
    注明原帖的url。希望可以帮到你。
      

  6.   

    代码不方便发过来,不好意思伯虎兄 :(g_db是CDaoDatabase类的,如果改成CRecordset,g_db也得改成CDatabase,这样改动就大了,有没有简便点的方法?
      

  7.   

    代码是一定要做修改的,其实从CDaoDatabase到CDatabase的改动也不大
    CDaoDatabase是Dao方式操作数据库的,而Dao方式不能操作sql server。
      

  8.   

    DAO操作access的
    sql sever用别的