请问(高分):1、怎样使用动态联接数据2、如何用VC++6.0写程序动态添加ODBC数据源

dicke 2003-09-13 08:33:07
1、怎样使用动态联接数据
2、如何用VC++6.0写程序动态添加ODBC数据源
...全文
58 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen_pin 2003-09-14
  • 打赏
  • 举报
回复
Up it
叶子哟 2003-09-13
  • 打赏
  • 举报
回复
ado
vcforever 2003-09-13
  • 打赏
  • 举报
回复
1、用CDatabase和CRecordset类来处理,这样就不用从CRecordset派生自己的
类了!
CDatabase *pBase = new CDatabase();
pBase->OpenEx("DSN=POLICE;UID=sa;PWD=",数据库的打开方式);
CRecordset *pSet = new CRecordset();
pSet->Open(数据库的打开方式,"select * from police", ……);
注意:new完了必须得delete
delete pBase;
delete pSet;
2、用如下函数来完成

SQLConfigDataSource(
NULL,
ODBC_ADD_DSN,
"SQL Server",
"DSN=POLICE\0"
"Server=serverdev\0"
"Database=pubs\0"
"Trusted_Connection=Yes"
);
benz600 2003-09-13
  • 打赏
  • 举报
回复
什么是“使用动态联接数据”,你说的好象不清楚啊,是想动态连接数据库吗?用CDatabase不就可以了吗?
benz600 2003-09-13
  • 打赏
  • 举报
回复
第一个问题不太清楚,第二个问题答复如下:

SQLConfigDataSource(
NULL,
ODBC_ADD_DSN,
"SQL Server",
"DSN=test\0"
"Server=serverdev\0"
"Database=pubs\0"
"Trusted_Connection=Yes"
);
gzshd 2003-09-13
  • 打赏
  • 举报
回复
CString CXXXRecordset::GetDefaultConnect()
{
CString text;
CString datapath=XXX //你的数据文件目录

text.Format("ODBC;DRIVER=Microsoft Access Driver (*.mdb);UID=admin;PWD=;UserCommitSync=Yes;Threads=8;SafeTransactions=0;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;FIL=MS Access;DriverId=25;DefaultDir=%s\\;DBQ=diary.dat;",datapath);

return _T(text);
}
dicke 2003-09-13
  • 打赏
  • 举报
回复
请问vcforever(霓裳羽衣)兄台和各位兄台?

在使用了你所说的方法后,连接时,会弹出一个SQL server登陆对话框,
去掉对话框中“总是信任连接”的选择后,点击确定,才能连上SQL server.
请问,如何在不出现此对话框的同时,连上SQL server。
SQLConfigDataSource(NULL,ODBC_ADD_DSN, "SQL Server","DSN=POLICE\0" "Server=LHGFG\0" "Database=LH_PDM\0" "Trusted_Connection!=Yes\0\0");
CString m_strDSN="POLICE",m_man="s",m_password="s",strPasswd;
UpdateData();
if(!db.OpenEx("DSN=POLICE;UID=sa")) return; // 连接数据库
CRecordset rs(&db);
rs.Open(CRecordset::forwardOnly,
"select * from R_Users where RU_Name='"+m_man+"'");
if(!rs.IsEOF())
{
rs.GetFieldValue("RU_PassWord", strPasswd);
if(strPasswd == m_password)
{
MessageBox("OK"); // 已连接
}
else
MessageBox("请重新输入密码。\n注意大小写!","密码错误");
}
else
{
MessageBox("请确认用户名大小写是否正确!","无此用户");
}
rs.Close();

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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