高分求助,如何用VC++ 不通过DSN 连接SQLServer数据库?

jyf79921 2003-12-17 11:37:07
高分求助,如何用VC++ 不通过DSN 连接SQLServer数据库?
...全文
40 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluebohe 2003-12-20
  • 打赏
  • 举报
回复
连接字串中的提供者写好了就可以了
fayifu 2003-12-20
  • 打赏
  • 举报
回复
//基于非DSN的ADO连接
m_pBConn->Open("Provider=SQLOLEDB;SERVER=DSY-WU;DATABASE=数据库名;\
UID=用户名;PWD=密码", "", "", -1);
flyingakain 2003-12-19
  • 打赏
  • 举报
回复
有代码么?给看看
k78126@163.com
3ks
weasea 2003-12-17
  • 打赏
  • 举报
回复
odbc好象必须要用dsn的
cdwy411 2003-12-17
  • 打赏
  • 举报
回复
bool InitSQLServer(CString server,CString db,CString UserName,CString Pwd)
{
piConnection.CreateInstance("ADODB.Connection");
CString strCn;
strCn.Empty();
strCn="provider=SQLOLEDB;data source="+server
+";initial catalog="+db
+";userID="+UserName
+";Password="+Pwd;
_variant_t bcnstr=_variant_t(strCn);
_variant_t bunstr=_variant_t(UserName);
_variant_t bpwdstr=_variant_t(Pwd);
//打开一个连接
if(!piConnection->Open(_bstr_t(bcnstr),_bstr_t(bunstr),
_bstr_t(bpwdstr),-1));//adOpenUnspecified
return false;
return true;
}
chehw 2003-12-17
  • 打赏
  • 举报
回复
TCHAR szConn[1024]=TEXT("Driver={SQL Server};DATABASE=yourdb;SERVER=yourserver;");
short cbConn;
rc=SQLDriverConnect(hdbc, hWnd, (SQLTCHAR *)szConn, 512,
(SQLTCHAR *)(szConn+512), 512, &cbConn, SQL_DRIVER_NOPROMPT);
if(SQL_SUCCESS==rc || SQL_SUCCESS_WITH_INFO==rc)
{
//connected
//process
....
SQLDisconnect(hdbc);
}
windywalk 2003-12-17
  • 打赏
  • 举报
回复
可以通过ADO连接
#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename("EOF","EndOfFile")
_ConnectionPtr piConnection; //定义一个连接
在需要的地方
HRESULT hr;
CString strConnected;
strConnected="provider=SQLOLEDB;data source="+Server+";Initial catalog="+DB+";UserID="+UserID+";PassWord="+PWD;

_variant_t bstrConnected=_variant_t(strConnected);
_variant_t bstrUserID=_variant_t(UserID);
_variant_t bstrPWD=_variant_t(PWD);
try{
hr=piConnection.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
hr=piConnection->Open(_bstr_t(bstrConnected),_bstr_t(bstrUserID),_bstr_t(bstrPWD),-1);
}
catch(_com_error &e)
{
AfxMessageBox(e.ErrorMessage());
}
if(!m_Connected) AfxMessageBox("ADO数据库初始化失败");
}
这样就生成了一个连接
casinosun 2003-12-17
  • 打赏
  • 举报
回复
oledb see msdn
sxslyy 2003-12-17
  • 打赏
  • 举报
回复
用ADO
我是这样打开的,看看对你有没有用:
theApp.pMyConnect.CreateInstance(__uuidof(Connection));
theApp.pMyConnect->Open("Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sxs;Initial Catalog=Test;Data Source=SXSWORK","","",adModeUnknown);

m_pRecordset.CreateInstance(__uuidof(Recordset));


m_pRecordset->Open("SELECT * FROM dress", // 查询DemoTable表中所有字段
theApp.pMyConnect.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
if(!m_pRecordset->BOF)

m_pRecordset->MoveFirst();

else

{

AfxMessageBox("表内数据为空");

return TRUE;

}
crystal_heart 2003-12-17
  • 打赏
  • 举报
回复
up
fishboyzyf 2003-12-17
  • 打赏
  • 举报
回复
9494
hothoke 2003-12-17
  • 打赏
  • 举报
回复
不错,是用ADO,上面有两位说得已经很详细了,我就没得说了。
jyf79921 2003-12-17
  • 打赏
  • 举报
回复
谢谢!
arvid_gs 2003-12-17
  • 打赏
  • 举报
回复
Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sxs;Initial Catalog=Test;Data Source=SXSWORK","","",adModeUnknown);

4,012

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧