正在加载图片...
第6章MFC ODBC编程 CString CMyRS:GetDefaultSQL() freturn_T("[Name],[Age]");} 对于GetDefaultSQL()函数返回的表名,对应的缺省操作是SELECT语句,例如: SELECT FROM BasicData,MainSize 在查询过程中,也可以利用CRecordSet类的成员变量m strFilter和m strSort来执行 条件查询和结果排序。m strFilter用于指定过滤字符串,存放着SQL语句中关键字WHERE 后的条件语句:m strSort用于指定用于排序的字符串,存放着SQL语句中关键字ORDER BY后的字符串。例如: myRS.m_strFilte="Name=刘鹏"; myRS.m_strSort="Age"; myRS.Requery(); 数据库查询中对应的SQL语句为: SELECT◆FROM BasicData,MainSize WHERE Name=刘鹏'ORDER BY Age 除了直接赋值给成员变量m strFilter以外,还可以通过参数化实现条件查询。利用参 化可以更直观、更方便地完成条件查询任务。参数化方法的步骤如下: (1)声明参变量,代码如下: CString strName; int nAge; (2)在构造函数中初始化参变量如下: strName=_T(""); nAge=0; m_nParams=2; (3)将参变量与对应列绑定,代码如下: pFX->SetFieldType(CFieldExchange::param) RFX_Text(pFX,_T("Name"),strName), RFX Single(pFX,T("Age"),nAge); 完成以上步骤之后就可以利用参变量进行条件查询了,代码如下: m_pmyRS->m_strFilter="Name=?AND age=?"; m_pmyRS->strName="刘鹏": m_pmyRS->nAge=26; m_pmyRS->Requery(); 参变量的值按绑定的顺序替换查询字串中的“?”通配符。 如果查询的结果是多条记录,可以利用CRecordSet类的成员函数Move(),MoveNext(), MovePrev(),MoveFirstO)和MoveLast0来移动记录光标。 6.2.2记录添加 使用AddNew()成员函数能够实现记录添加,需要注意的是,在记录添加之前必须保 证数据库是以允许添加的方式打开的,代码如下: m_pmyRS>AddNew(),∥在表的末尾添加新记录 m_pmyRS->SetFieldNull(&(m_pSet->m_type),FALSE); -114-第 6 章 MFC ODBC 编程 -114- CString CMyRS::GetDefaultSQL() {return _T("[Name],[Age]");} 对于 GetDefaultSQL()函数返回的表名,对应的缺省操作是 SELECT 语句,例如: SELECT * FROM BasicData,MainSize 在查询过程中,也可以利用 CRecordSet 类的成员变量 m_strFilter 和 m_strSort 来执行 条件查询和结果排序。m_strFilter 用于指定过滤字符串,存放着 SQL 语句中关键字 WHERE 后的条件语句;m_strSort 用于指定用于排序的字符串,存放着 SQL 语句中关键字 ORDER BY 后的字符串。例如: myRS.m_strFilter="Name='刘鹏'"; myRS.m_strSort="Age"; myRS.Requery(); 数据库查询中对应的 SQL 语句为: SELECT * FROM BasicData,MainSize WHERE Name='刘鹏' ORDER BY Age 除了直接赋值给成员变量 m_strFilter 以外,还可以通过参数化实现条件查询。利用参 化可以更直观、更方便地完成条件查询任务。参数化方法的步骤如下: (1) 声明参变量,代码如下: CString strName; int nAge; (2) 在构造函数中初始化参变量如下: strName =_T(""); nAge =0; m_nParams=2; (3) 将参变量与对应列绑定,代码如下: pFX->SetFieldType(CFieldExchange::param) RFX_Text(pFX,_T("Name"), strName); RFX_Single(pFX,_T("Age"), nAge); 完成以上步骤之后就可以利用参变量进行条件查询了,代码如下: m_pmyRS->m_strFilter="Name=? AND age=?"; m_ pmyRS -> strName ="刘鹏"; m_ pmyRS ->nAge=26; m_ pmyRS ->Requery(); 参变量的值按绑定的顺序替换查询字串中的“?”通配符。 如果查询的结果是多条记录,可以利用 CRecordSet 类的成员函数 Move(),MoveNext(), MovePrev(),MoveFirst()和 MoveLast()来移动记录光标。 6.2.2 记录添加 使用 AddNew()成员函数能够实现记录添加,需要注意的是,在记录添加之前必须保 证数据库是以允许添加的方式打开的,代码如下: m_ pmyRS ->AddNew(); // 在表的末尾添加新记录 m_ pmyRS ->SetFieldNull(&(m_pSet->m_type), FALSE);
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有