求ODBC建立数据库与VC++联接的过程,新手!!!感激不尽! 我现在有一.MDF 的数据库文件,一个处理这个文件中数据的C++程序,怎么才能将数据写入程序呢?拜托了~~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先把你的.mdf数据库文件复制到C盘里的programfiles->microsoft sql server->MSSQL->DATA里面,然后在SQLSERVER2000里面数据库->所有任务->添加数据库->选择刚刚复制到C盘里的.MDF文件。这样就可以了!如果还不行 你再到控制面板->管理工具->ODBC数据源-添加->SQL SERVER->......然后选择你的那个数据源!测试连接成功就行! 这个我已经连接好了,我现在不知道C++程序里面应该怎么写,好像要用到CRecondSet类等等! 数据库编程,网上N多ADO编程例子。Search一下。另外有个叫otl4.h的文件,是C++数据库编程很强悍的工具。基础部分,还是先自己学习下吧。给点思路,把数据库想象成一个仓库,你的C++程序就好象送货取货的工人,而仓库有个专门看守仓库的人员。取货工人取货时,首先到仓库那儿,跟守仓库的管理员申请取货,仓库管理员验证你的信息,确认你有取货的权限,然后按你提出的要求,把包装好的货物给你,你要使用货物中的某一部分时,得把包装拆掉,找到你要的货物,再拿来使用。 在你创建好ODBC数据源之后。首先,在InitInstance()中连接数据库 CString strConnect; strConnect.Format("DSN=%s;UID=%s;PWD=%s" ,m_strDSN//ODBC数据源中创建的名字,比如我创建的时候HeatMS ,m_strUID//用户名 ,m_strPWD);//密码 TRY { m_db.OpenEx(strConnect,CDatabase::noOdbcDialog); } CATCH(CDBException,ex) { AfxMessageBox (ex->m_strError); AfxMessageBox (ex->m_strStateNativeOrigin); } AND_CATCH(CMemoryException,pEx) { pEx->ReportError(); AfxMessageBox ("memory exception"); } AND_CATCH(CException,e) { TCHAR szError[100]; e->GetErrorMessage(szError,100); AfxMessageBox (szError); } END_CATCH 然后用CRecordset类读取记录CRecordset rs(&(theApp.m_db));CString sql;sql.Format("SELECT * FROM Admin_Info_Tab " "WHERE Admin_Name = '%s' AND (Admin_Password = '%s' AND Admin_Rank = '%s')", m_strName,m_strPassword,m_strRank);rs.Open(CRecordset::dynaset,sql);//打开记录if(!rs.IsEOF())//验证正确{ if(m_strRank == "系统管理员") m_bSysOperator=TRUE; else return ;}//、、、、、、、、、rs.Close();//关闭记录 db.OpenDb("abc"); int i,j; for(i=0;i<la.M;i++) //for(j=0;j<la.L;j++) { //Data(m,l) //Result(m,l) db.InsertDB("score","Base_score",la.Result(i,15) , "Asset_score",la.Result(i,0), "Stockholder_score",la.Result(i,1) //"d23",Data(i,1), );这段程序里的“abc”应该是我的数据库的名字吗?谢谢! 关于MSCommm控件 关于界面上控件的响应时间问题 急 !!! 如何改进 win消息处理机制 向高手请教关于DHCP服务器API的使用方法 颜色问题,怎么根据选中前字体的颜色来确定选中后的颜色,使得和选中的背景颜色达到最佳? 子窗口更新问题 [求救]在安装英文版vc6的时候,遇到的,反复启动计算机的问题,请高手指点米经 问关于sendto的用法 2002一月版的MSDN,怎样与VC6中的帮助关联起来? VC DLL参数问题!!! 如何控制超市小票机打印超字时换行?? 多播通信中接收错误
如果还不行 你再到控制面板->管理工具->ODBC数据源-添加->SQL SERVER->......然后选择你的那个数据源!测试连接成功就行!
另外有个叫otl4.h的文件,是C++数据库编程很强悍的工具。基础部分,还是先自己学习下吧。
给点思路,把数据库想象成一个仓库,你的C++程序就好象送货取货的工人,而仓库有个专门看守仓库的人员。取货工人取货时,首先到仓库那儿,跟守仓库的管理员申请取货,仓库管理员验证你的信息,确认你有取货的权限,然后按你提出的要求,把包装好的货物给你,你要使用货物中的某一部分时,得把包装拆掉,找到你要的货物,再拿来使用。
首先,在InitInstance()中连接数据库
CString strConnect;
strConnect.Format("DSN=%s;UID=%s;PWD=%s"
,m_strDSN//ODBC数据源中创建的名字,比如我创建的时候HeatMS
,m_strUID//用户名
,m_strPWD);//密码
TRY
{
m_db.OpenEx(strConnect,CDatabase::noOdbcDialog);
}
CATCH(CDBException,ex)
{
AfxMessageBox (ex->m_strError);
AfxMessageBox (ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException,pEx)
{
pEx->ReportError();
AfxMessageBox ("memory exception");
}
AND_CATCH(CException,e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox (szError);
}
END_CATCH 然后用CRecordset类读取记录CRecordset rs(&(theApp.m_db));
CString sql;
sql.Format("SELECT * FROM Admin_Info_Tab "
"WHERE Admin_Name = '%s' AND (Admin_Password = '%s' AND Admin_Rank = '%s')",
m_strName,m_strPassword,m_strRank);rs.Open(CRecordset::dynaset,sql);//打开记录
if(!rs.IsEOF())//验证正确
{
if(m_strRank == "系统管理员")
m_bSysOperator=TRUE;
else
return ;
}
//、、、、、、、、、
rs.Close();//关闭记录
int i,j;
for(i=0;i<la.M;i++)
//for(j=0;j<la.L;j++)
{
//Data(m,l)
//Result(m,l)
db.InsertDB("score","Base_score",la.Result(i,15) ,
"Asset_score",la.Result(i,0),
"Stockholder_score",la.Result(i,1)
//"d23",Data(i,1),
);这段程序里的“abc”应该是我的数据库的名字吗?谢谢!