分享

VC+ODBC+SQL Server

 3dC 2016-01-08

一、SQL Server 2000

1、打开“企业管理器”,你会发现“SQL Server组”中已经存在“(local)”服务器,为了简单,我们就使用该服务器;

2、在“local”服务器下新建一个“数据库”(自命名为“mydb”),并在该数据库中新建一张表(假设命名“T_RealData”),存储自己的数据。

二、ODBC数据源

1、打开“控制面板”(要用控制面板的经典视图,分类视图中没有管理工具,在XP中两种视图通常可以切换),选择“管理工具”,打开“数据源(ODBC)”;

2、在“(ODBC)数据源管理器”对话框中选择“系统DSN”选项卡,添加新的系统数据源:

1)选择安装数据源的驱动程序——“SQL Server”;

2)数据源名称——“myDSN”,连接服务器——“(local)”

3)下一步,下一步;

4)更改默认的数据库为“mydb”;下一步;

5)完成。测试数据源(如果不出意外,通常会测试成功的)。

三、VC访问数据

1、链接数据库并打开

CDatabase m_dbAgent;

m_dbAgent.OpenEx("DSN=myDSN;UID=SA;PWD=");    //DSN是数据源的名字

2、获取表中数据

 

CString sql,str;

CRecordset *p_rs=new CRecordset;    //定义记录集对象指针  

p_rs->m_pDatabase=&m_dbAgent;    //使数据库指向m_dbAgent

sql _T("select count(*) as total from T_RealData");    //使用集函数查询对象个数

p_rs->Open(AFX_DB_USE_DEFAULT_TYPE,sql);    //获得有效的查询记录集

p_rs->GetFieldValue("total",str);  //取出查询记录集中的数据

int m_nItem=atoi(str);

3、数据库操作

sql _T("backup database mydb to disk='%s'", SavePath);   //备份数据库

m_dbAgent.ExecuteSQL(sql);

sql= _T("restore database mydb from disk='%s'", filepath);    //还原数据库

m_dbAgent.ExecuteSQL(sql);

四、问题

1、程序运行时出现错误对话框——对象名“T_RealData”无效,未能准备语句。

调试信息:

对象名 'T_RealData' 无效。

State:S0002,Native:208,Origin:[Microsoft][ODBC SQL Server Driver][SQL Server]

未能准备语句。

State:37000,Native:8180,Origin:[Microsoft][ODBC SQL Server Driver][SQL Server]

可能原因:

连接数据源时没有更改默认数据库,通常默认数据库是master,改为mydb即可。(ps比较白痴的错误)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多