给我一个简单的连接SQL SERVER的源代码,在线等待

mendynew 2004-05-07 12:36:27
如题,
郁闷中
很急
多谢
...全文
75 12 点赞 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dingpiao 2004-05-13
先初始化 com
  • 打赏
  • 举报
回复
Yao-debo 2004-05-12
你的 SQL 服务器设置好了没有?
“ 工欲善其事,必先利其器 ”
  • 打赏
  • 举报
回复
mendynew 2004-05-08
HRESULT hr=pMyConnect.CreateInstance(__uuidof(Connection)));
if(FAILED(hr))return;

为什么在创建连接对象的时候也会出错呢?
#import我已经添加过了呀
是什么原因呢?
求助啊?
分不够再另开帖加分
  • 打赏
  • 举报
回复
visualabc 2004-05-08
http://www.vctop.com/View.Asp?ID=370&CateID=1
  • 打赏
  • 举报
回复
mendynew 2004-05-08
帮一下啦
编译能够通过的
  • 打赏
  • 举报
回复
zhonglingqqxh 2004-05-07
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb","","",adModeUnknown);///连接数据库
///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51; }

HRESULT Connection15::Open ( _bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, long Options )
ConnectionString为连接字串,UserID是用户名, Password是登陆密码,Options是连接选项,用于指定Connection对象对数据的更新许可权,
Options可以是如下几个常量:
adModeUnknown:缺省。当前的许可权未设置
adModeRead:只读
adModeWrite:只写
adModeReadWrite:可以读写
adModeShareDenyRead:阻止其它Connection对象以读权限打开连接
adModeShareDenyWrite:阻止其它Connection对象以写权限打开连接
adModeShareExclusive:阻止其它Connection对象打开连接
adModeShareDenyNone:允许其它程序或对象以任何权限建立连接

3.
我们给出一些常用的连接方式供大家参考:
(1)通过JET数据库引擎对ACCESS2000数据库的连接

m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\test.mdb","","",adModeUnknown);

(2)通过DSN数据源对任何支持ODBC的数据库进行连接:
m_pConnection->Open("Data Source=adotest;UID=sa;PWD=;","","",adModeUnknown);
"DSN=Hotel_MIS;Provider=MSDASQL;","","",adConnectUnspecified);
(3)不通过DSN对SQL SERVER数据库进行连接: m_pConnection->Open("driver={SQL Server};Server=127.0.0.1;DATABASE=vckbase;UID=sa;PWD=139","","",adModeUnknown);

其中Server是SQL服务器的名称,DATABASE是库的名称

Connection对象除Open方法外还有许多方法,我们先介绍Connection对象中两个有用的属性ConnectionTimeOut与State
ConnectionTimeOut用来设置连接的超时时间,需要在Open之前调用,例如: m_pConnection->ConnectionTimeout = 5;///设置超时时间为5秒
m_pConnection->Open("Data Source=adotest;","","",adModeUnknown);


State属性指明当前Connection对象的状态,0表示关闭,1表示已经打开,我们可以通过读取这个属性来作相应的处理,例如:
if(m_pConnection->State)
m_pConnection->Close(); ///如果已经打开了连接则关闭它
  • 打赏
  • 举报
回复
DebugXP 2004-05-07
http://www.csdn.net/Develop/Read_Article.asp?Id=14153
  • 打赏
  • 举报
回复
醉马不肖 2004-05-07
http://www.vckbase.com/document/viewdoc/?id=807
  • 打赏
  • 举报
回复
Kudeet 2004-05-07
有没有初始化OLE/COM库环境


看一看这篇文章


http://www.csdn.net/Develop/Read_Article.asp?Id=21087
  • 打赏
  • 举报
回复
winforever 2004-05-07
可以用ODBC或者ADO在vc向导中就可以生成代码,这是最简单省力的,上面几位也给出了连接代码,还可以用第三方的类库,如SQLAPI.
  • 打赏
  • 举报
回复
mendynew 2004-05-07
自己UP一下
  • 打赏
  • 举报
回复
mendynew 2004-05-07
void CDatabaseView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
HRESULT hr;
_bstr_t source("Driver={SQL Server};Server=TLL; Uid=sa;Pwd=123;Database=DB");
_bstr_t user("anoymous");
_bstr_t pwd("");

try{
hr=m_connection.CreateInstance(_uuidof(Connection));
if(SUCCEEDED(hr))
hr=m_connection->Open(source,user,pwd,16);
if(SUCCEEDED(hr))
hr=m_recordset.CreateInstance(_uuidof(Recordset));
if(SUCCEEDED(hr))
m_fConnected=TRUE;
else
m_fConnected=FALSE;
}
catch(_com_error&e) {
MessageBox(e.ErrorMessage());
m_fConnected=FALSE;
}
if(!m_fConnected) MessageBox("ADO数据源初始化失败!");
else m_strSource=(const char*)source;
}
用的是ADO,Stdafx.h里面已经添加#import了
但每次都是"ADO数据源初始化失败"
不知道是什么原因?

第一次用VC连数据库,谢谢不吝赐教
  • 打赏
  • 举报
回复
相关推荐
发帖
数据库
加入

3957

社区成员

VC/MFC 数据库
申请成为版主
帖子事件
创建了帖子
2004-05-07 12:36
社区公告
暂无公告