| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3043 人关注过本帖
标题:[求助]VC SQL ADO编译错误
取消只看楼主 加入收藏
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
 问题点数:0 回复次数:6 
[求助]VC SQL ADO编译错误

现在学数据库开发,但是有点问题,在MSDN上查不到_ConnectionPtr这个类型,知道他是_Connection对象的指针,但是这个东西MSDN上也没有,还有那个_Command和_CommandPtr.

还有那个导入语句,为什么也有错误?

本程序只是建立一个对话框,我想在程序功能编写之前封装一个对数据库操作的类(象书上那样)。


注:其他地方没有对向导产生的代码做改动。


程序代码:

// MyAdo.h: interface for the CMyAdo class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MYADO_H__6A6254C7_C2FE_4912_9F98_7EF933E96C52__INCLUDED_)
#define AFX_MYADO_H__6A6254C7_C2FE_4912_9F98_7EF933E96C52__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#import \"c:\Program Files\Common Files\System\ado\msado15.dll\"
no_namespace rename(\"EOF\",\"adoEOF\"),rename(\"BOF\",\"adoBOF\")

class CMyAdo
{
public:
CMyAdo();
virtual ~CMyAdo();
public:
void OnInitConnect();
void Execute(_bstr_t strSQL);
void ExitConnect();
private:
_ConnectionPtr m_pConnection;
};

#endif // !defined(AFX_MYADO_H__6A6254C7_C2FE_4912_9F98_7EF933E96C52__INCLUDED_)



程序代码:

// MyAdo.cpp: implementation of the CMyAdo class.
//
//////////////////////////////////////////////////////////////////////

#include \"stdafx.h\"
#include \"SqlTest6.h\"
#include \"MyAdo.h\"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CMyAdo::CMyAdo()
{

}

CMyAdo::~CMyAdo()
{

}


void CMyAdo::OnInitConnect()
{
AfxOleInit(); //初始化COM组件
try
{
this->m_pConnection->CreateInstance(\"ADODB.Connection\");

_bstr_t strConnect=\"Provider=SQLOLEDB;Password=236162;
Persist Security Info=True;User ID=wfpb;
Initial Catalog=USERMAN;Data Source=localhost;\";

this->m_pConnection->Open(strConnect,\"\",\"\",adModeUnknow);

}

catch(_com_error e)
{
MessageBox(e.ErrorMessage());
}
}

BOOL CMyAdo::Execute(_bstr_t strSQL)
{
try
{
if(m_pConnection==NULL)
OnInitConnect();

m_pConnection->Execute(strSQL,NULL,adCmdText);
return TRUE;
}

catch(_com_error e)
{
MessageBox(e.Description());
return FALSE;
}
}


void CMyAdo::ExitConnect()
{
m_pConnection.Close();
MessageBox(\"已连接断开\");
}




问题如下:

--------------------Configuration: SqlTest6 - Win32 Debug--------------------
Compiling...
MyAdo.cpp
e:\visual c++ project\sqltest6\debug\msado15.tlh(409) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
e:\visual c++ project\sqltest6\debug\msado15.tlh(1318) : error C2629: unexpected 'short ('
e:\visual c++ project\sqltest6\debug\msado15.tlh(1318) : error C2238: unexpected token(s) preceding ';'
e:\visual c++ project\sqltest6\myado.h(13) : error C2146: syntax error : missing ';' before identifier 'rename'
e:\visual c++ project\sqltest6\myado.h(13) : error C2501: 'no_namespace' : missing storage-class or type specifiers
e:\visual c++ project\sqltest6\myado.h(13) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

SqlTest6.exe - 5 error(s), 1 warning(s)

搜索更多相关主题的帖子: SQL ADO 编译 
2006-09-14 16:37
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

m_pConnection.CreateInstance("ADODB.Connection");

_bstr_t strConnect="Provider=SQLOLEDB;Password=236162; \
Persist security Info=True;User ID=wfpb; \
Initial Catalog=USERMAN;Data source=localhost";

m_pConnection->Open(strConnect,"","",adModeUnknown);

为什么我这里老是Open失败呢?

我自己新加了一个登陆名,是SQL SERVER身份验证的。

用户名和密码是:wfpb和236162
我用SQL新建了一个数据库USERMAN。

现在请问,我哪里写错误了吗?

我是说strConnect赋值这里


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-09-14 18:53
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

为什么没人告诉一声啊,我实在不想停下脚步


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-09-14 22:13
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
昏,多来几个人把这个问题说清楚点吧,本来就刚开始学SQL,ADO什么的,语句还有问题,无语,我是照着书写的,郁闷。

不过书上是SQL2000

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-09-15 16:08
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
System::Data::OleDb::
为什么老是说System不是空间名字.

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-09-15 18:24
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

还有一个问题:


// 綁定到 Command
hCmd->ActiveConnection = hConn;

// 打開表 testTable1
hCmd->CommandText = "SELECT * FROM dbo.testTable1";

// 執行 SQL 語句
hRds = hCmd->Execute(NULL, NULL, 0);


我在执行的时候,hCmd->ActiveConnection = hConn;老是抛出异常,说是无效指针。
害得我只能:
_bstr_t vSQL="SELECT * FROM dbo.testTable1";
hConn->Execute(vSQL,NULL,adCmdText);

这是为什么


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-09-16 20:02
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
为什么为什么?

myajax95和aogun???

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-09-19 19:14
快速回复:[求助]VC SQL ADO编译错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017272 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved