数据库采用Sql Server 2000,用VC 6.0
操作步骤如下:
1、在"企业管理器"里面的pubs数据库里面新建一个表“test”,里面的有两个字段aa和bb(都是char、10)2、在ODBC数据源里面新建一个用户DSN“testDSN”,采用指定本机的“SQL Server”服务器名,更改默认的数据库为“pubs”。3、在VC下新建一个工程,用向导添加一个基于CRecordSet的类CTestSet,采用的ODBC就是testDSN,加入的数据表是“dbo.test”4、在VC下
 CString strDsn.Format("ODBC;DRIVER=SQL Server;DSN='';SERVER=%s;NETWORK=dbmssocn;DATABASE=%s;uid=%s;pwd=%s",
pSvr,pDb,pUid,pPwd);
CDatabase * pDatabase = new CDatabase;
pDatabase->Open(NULL,FALSE,FALSE,strDsn,FALSE);
成功,新建一个CDatabase的实例。5、执行SQL语句
CString str = "insert into test(aa) values('asdasas')";
pDatabase->ExecuteSQL(str);
成功6、CTestSet *pSet=new  CTestset(pDatabase);
CString     strSQL="select * from test";
pSet->Open(CRecordset::dynaset,strSQL) )
新建一个CTestSet成功7、用pSet可以进行MoveFirst、MoveNext等查询操作8、用pSet执行AddNew时提示“记录集是只读”。Faint!9、用“查询分析器”打开pubs数据库,直接打开dbo.authors,可以直接在里面进行数据的编辑10、用“查询分析器”打开pubs数据库,直接打开dbo.test,子窗口标题显示“只读”,无法直接在里面进行数据的编辑。不知在哪修改才能像第9步中的操作一样可以直接修改编辑哪位大侠帮帮我呀!第8步和第10步怎样才能去掉只读呀?????

解决方案 »

  1.   

    我用的是sa用户呀,在"企业管理器"里面的“pubs”数据库里面的“用户”下面修改了用户的权限、
    在“安全性”里面增加用户、修改权限都不行呀,折腾了老半天也没有什么结果哪位对Sql Server 2000比较熟的朋友帮我看看吧!!!谢谢啦!
      

  2.   

    Thanks!没想到这么简单,谢谢!不过还没明白为什么在Sql Server2000里面没有设置主键就不让修改,真是不明白LocalVar能不能给点资料?
      

  3.   

    又有问题了!
    请参考这个帖
    http://expert.csdn.net/Expert/topic/3012/3012828.xml?temp=.279339
    有个朋友建议我用pSet->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);来操作,本来是可以的
    但现在又遇到问题了!!我新建了一个新的数据库“testdb”,在里面新建一个表,在里面随便建了几个字段,用pSet->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);的方法可以正确的往里面增加记录但又新建了一个数据库“MyDb",在“查询分析器”里面执行CREATE TABLE 语句在里面新建一个表,用同样的方法pSet->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);却无法正确的往里面增加记录!!!只能把这个新表里面的一个字段设为主键,而且只能使用
    pSet->Open(CRecordset::dynaset,strSQL) 不能用pSet->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);来打开数据库,否则就无法正常的往里面添加记录!!!怎么回事呢???我现在的需要就是往一个数据表里面正常的查询、添加记录,最好不要设置主键,不要动了已有的数据表。怎么回事呢?有谁有这方面的资料吗?看来得有系统的了解才能解决冒出来的一个又一个的问题呀!到底影响数据库的添加权限的因素有哪些呢?哪位朋友能分享一下?