标题:想问一个VC++连接SQL SERVER 2000个人版的问题
只看楼主
funnnyhuang817
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-30
 问题点数:0 回复次数:5 
想问一个VC++连接SQL SERVER 2000个人版的问题

想问一个VC++连接SQL SERVER 2000个人版的问题.

提示错误为:warning C4129: 'S' : unrecognized character escape sequence


连接时我的代码为:
m_pConnection.CreateInstance("ADODB.Connection");

m_pConnection->Open("Provider=SQLOLEDB;Server=JINAN-JEL9I8QQ2

\STORE;Database=FStore; uid=sa; pwd=aaaaa","","",adModeUnknown);


可是却无法连接上,请问原因???

.h的代码为:
#import "c:\Program Files\Common Files\System\ado\msado15.dll"

no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")

#if !defined

(AFX_ADOCONN_H__79514B46_ED08_4C99_BFB1_200CDAC82054__INCLUDED_)
#define AFX_ADOCONN_H__79514B46_ED08_4C99_BFB1_200CDAC82054__INCLUDED_

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

class ADOConn
{
// 定义变量
public:
//添加一个指向Connection对象的指针:
_ConnectionPtr m_pConnection;
//添加一个指向Recordset对象的指针:
_RecordsetPtr m_pRecordset;
// 定义方法
public:
ADOConn();
virtual ~ADOConn();
// 初始化—连接数据库
void OnInitADOConn();
// 执行查询
_RecordsetPtr& GetRecordSet(_bstr_t bstrSQL);
// 执行SQL语句,Insert Update _variant_t
BOOL ExecuteSQL(_bstr_t bstrSQL);
void ExitConnect();

};

.cpp的代码为:

#include "stdafx.h"
#include "Fstore.h"
#include "ADOConn.h"

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

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

ADOConn::ADOConn()
{

}

ADOConn::~ADOConn()
{

}
void ADOConn::OnInitADOConn()
{
// 初始化OLE/COM库环境
::CoInitialize(NULL);

try
{
// 创建Connection对象
m_pConnection.CreateInstance("ADODB.Connection");

m_pConnection->Open("Provider=SQLOLEDB;Server=JINAN-JEL9I8QQ2

\STORE;Database=FStore; uid=sa; pwd=aaaaa","","",adModeUnknown);
}
// 捕捉异常
catch(_com_error e)
{
// 显示错误信息
AfxMessageBox(e.Description());
}
}

// 执行查询
_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)
{
try
{
// 连接数据库,如果Connection对象为空,则重新连接数据库
if(m_pConnection==NULL)
OnInitADOConn();
// 创建记录集对象
m_pRecordset.CreateInstance(__uuidof(Recordset));
// 取得表中的记录
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr

(),adOpenDynamic,adLockOptimistic,adCmdText);
}
// 捕捉异常
catch(_com_error e)
{
// 显示错误信息
AfxMessageBox(e.Description());
}
// 返回记录集
return m_pRecordset;
}

// 执行SQL语句,Insert Update _variant_t
BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)
{
// _variant_t RecordsAffected;
try
{
// 是否已经连接数据库
if(m_pConnection == NULL)
OnInitADOConn();
// Connection对象的Execute方法:(_bstr_t CommandText,
// VARIANT * RecordsAffected, long Options )
// 其中CommandText是命令字串,通常是SQL命令。
// 参数RecordsAffected是操作完成后所影响的行数,
// 参数Options表示CommandText的类型:adCmdText-文本命令;adCmdTable-表


// adCmdProc-存储过程;adCmdUnknown-未知
m_pConnection->Execute(bstrSQL,NULL,adCmdText);
return true;
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
return false;
}
}

void ADOConn::ExitConnect()
{
// 关闭记录集和连接
if (m_pRecordset != NULL)
m_pRecordset->Close();
m_pConnection->Close();
// 释放环境
::CoUninitialize();
}


就是没办法链接到数据库,请大人帮忙看看!!!!

搜索更多相关主题的帖子: SQL SERVER 人版 Files 
2006-05-30 14:56
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
得分:0 

我做毕业设计的时候是这样连接的

BOOL CLoginDlg::OnInitDialog()
{
CDialog::OnInitDialog();

HRESULT hr;

try
{
hr = m_pConnection.CreateInstance(__uuidof(Connection));

if(SUCCEEDED(hr))
{
m_pConnection->ConnectionString = "File Name=SaleManagerdata.udl";
m_pConnection->ConnectionTimeout = 20;

hr = m_pConnection->Open("","","",adConnectUnspecified);

if(FAILED(hr))
{
AfxMessageBox("打开失败");
return TRUE;
}
}
else
{
AfxMessageBox("创建连接实例失败!");
return TRUE;
}
}
catch(_com_error &e)
{
AfxMessageBox(e.ErrorMessage());
return TRUE;
}


return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}

我那个方法是建立了一个数据udl的文件的,你可以先建立记事本再修改


c++/C + 汇编 = 天下无敌
2006-05-30 15:07
funnnyhuang817
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-30
得分:0 
热情依然:

我是创建了一个数据库类,用它连链接数据库。
以上是那个类的.h和.cpp的代码


因为整个设计这个类的使用很重要,所以,不能改成您说的那种,在每次链接时都立了一个数据udl的文件

谢谢您的解答!!!!
2006-05-30 15:16
cathypu0725
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-5-26
得分:0 

是m_pConnection->Open 时失败吗? 看看错误返回的原因.
我以前用的Connection String "Server=JINAN-JEL9I8QQ2

\STORE;Database=FStore;Driver=SQL SERVER; uid=sa; pwd=aaaaa"

2006-05-30 15:37
cathypu0725
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-5-26
得分:0 

是不是你的Connection String 写得不对呀?
查了一下,应该是:
"Provider=sqloledb;" & _
          "Data Source=myServerName\Inst2;" & _
          "Initial Catalog=myDatabaseName;" & _
          "User Id=myUsername;" & _
          "Password=myPassword;"
再试一试.我3楼写的应该也可以的.

2006-05-30 15:52
funnnyhuang817
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-30
得分:0 
问题解决了,谢谢大家。
2006-05-30 20:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-68511-1-1.html




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

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