一个简单的数据库问题,谢谢,在线等待。 调用CRecordSet的Open方法,第二个参数是SQL语句。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用ADO吧,用过ASP连数据库的人都会的,绝对方便。http://www.vckbase.com/document/finddoc.asp?keyword=ADO 其实过程就如搂主所说的那样。你先做一个CDatabase对象连接到数据库,这个对象在你的程序运行中始终保持连接,然后你的CRecordSet对象连接到CDatabase对象,然后你就可以通过CRecordSet::Open()打开你需要的表了,你可以关闭这个表,在打开别的表,也可以传送SQL语句到CRecordSet对象中让她Requery()。 不用那么费劲的,你可以有一个CRecordset, 用Open打开后操作,然后关闭,再Open另外一个,如此这般,直到将所有的表处理完毕。这是只有一个问题:就是每个表的结构不一样时怎么存取字段数据可以直接用字段号(0-n)对字段进行操作,如果库结构一样那就更省事了。当然打开表后你能知道都是什么字段,其名字和类型也能得知。 我用CDatabase *my=NULL;CRecordSet *myset=NULL;my->OpenEx(_T("ODBC;DSN=datatest;UID=sa;PWD=pwd;UIDDBMS=mydatabase")myset->Open(CRecordset::dynaset,_T( "Select * from t_1")可是就是不对啊,该怎么做呢??? 我用的是SQL SERVER的数据库,ODBC的连接字符串对吗??? 我觉得你写的my和myset没连接上,请参考以下:CDatabase my;my.OpenEx("DSN=datatest");CRecordset myset(&my);myset.Open(CRecordset::dynaset,"Select * from t_1"); 现在又要用SYBASE数据库,快点帮忙啊 你要读多个表在一个窗口中么,如果是的话说明这些数据是可以有一个表组成的,你为什么要用多个表呢?如果不是的话, CString sDSN="ODBC;DRIVER=Microsoft Access Driver (*.mdb);DSN='';DBQ=mydb.mdb"; if(m_database.Open(NULL,FALSE,FALSE,sDSN,FALSE)) { CString strSQL="select * from ask"; m_pSet=new askset(); m_pSet->Open(CRecordset::dynaset,strSQL); } else MessageBox("Can't open database"); m_addname=m_pSet->m_name1; 用_connectionPtr连接数据库,_recordsetPtr返回记录集 请再详细一点,我用的是SYBASE,急啊 CFormView 多重 对话框嵌入的问题? CString(unicode编码的) to char * 请问在ADO数据库编程中几个变量类型的含义?_variant_t ,_bstr_t "+/-15.0"字符串取出数据如何取? Active X中数据的保存 如何将一个局部变量的地址作为参数给另一个窗口发消息? 一个switch case的问题 如何像cuteftp一样显示本地目录,文件? 一个有关_inp()的问题 我用ADO访问SQL Server数据库,发现奇怪的问题,求助!(100分赠送) 如何才能迅速提高自己的水平及经验 如何使用VC++加密一个字符串?
http://www.vckbase.com/document/finddoc.asp?keyword=ADO
CDatabase *my=NULL;
CRecordSet *myset=NULL;
my->OpenEx(_T("ODBC;DSN=datatest;UID=sa;PWD=pwd;UIDDBMS=mydatabase")
myset->Open(CRecordset::dynaset,_T( "Select * from t_1")
可是就是不对啊,该怎么做呢???
CDatabase my;
my.OpenEx("DSN=datatest");
CRecordset myset(&my);
myset.Open(CRecordset::dynaset,"Select * from t_1");
CString sDSN="ODBC;DRIVER=Microsoft Access Driver (*.mdb);DSN='';DBQ=mydb.mdb";
if(m_database.Open(NULL,FALSE,FALSE,sDSN,FALSE))
{
CString strSQL="select * from ask";
m_pSet=new askset();
m_pSet->Open(CRecordset::dynaset,strSQL);
}
else MessageBox("Can't open database");
m_addname=m_pSet->m_name1;