VCer代码 VCer开源 VCer文章 VCer工具 VCer知道 VCer词典 VCer读书 VCer论坛   站点首页 我要张贴 控制面板
VCer代码 VCer开源 VCer文章 VCer工具 VCer知道 VCer词典 VCer读书 VCer论坛   站点首页 我要张贴 控制面板

目前位置: VCer资源中心 >>> VCer文章 >>> 数据库
我来转发一篇文章!>>>


snoopy每日一译-完美的ADO[2](下)
 
snoopy每日一译-完美的ADO[2](下) by:Bob Place 1999.6.27 from:codeGuru 翻译:snoopy 可以建立两个同名方法,一个返回符号分割字符串(方法名有前缀”s”),另一个返回记录集: STDMETHODIMP CADO::GetCustomerNameAndBalance(BSTR CustKey, _Recordset **Result) { // std stream used to create the SQL statement std::strstream SQL; // Put the BSTR into something we can deal with _bstr_t Holder(CustKey); SQL.str(""); SQL<<"SELECT a.cust_name, b.cust_balance FROM cust_info as a, cust_credit as b WHERE a.cust_id = '<<(char*)Holder<<" AND a.cust_key = b.cust_key"; ADOExecute(_bstr_t(SQL.str().c_str()),_bstr_t(","),Result); retu ...
作者:不祥 ycr40张贴于2004-05-01 10:24:27.0,共阅读2715次,回复0
snoopy每日一译-完美的ADO[2](中)
 
snoopy每日一译-完美的ADO[2](中) by:Bob Place 1999.6.27 from:codeGuru 翻译:snoopy SAFEARRAY(sorry没有它的封装类)是从容易COM对象传送和接受数据的方法之一(当然,容易是相对而言)。 SAFEARRAYBOUND可以用来设置SAFEARRY的范围。你必须设定上界和下界。 让我们看看例子,假设我们要建立一个10行2列的SAFEARRAY: //2列,因此MyBound有2维 SAFEARRAYBOUND MyBound[2]; //10行 MyBound[0].cElements = 10; MyBound[1].cElements = 10; //设定下界为0 MyBound[0].lLbound = 0; MyBound[1].lLBound = 0; //定义VARIANT指针 VARIANT *pVariant; VariantInit(pVariant); pVariant->vt = VT_VARIANT | VT_ARRAY; pVariant->parray = SafeArrayCreate(VT_VARIANT2MyBound);//建立SAFEARRAY 或者你可以直接使用SAFEARRAY类型: SAFEARRAY p ...
作者:不祥 ycr40张贴于2004-04-30 17:33:39.0,共阅读2652次,回复1
snoopy每日一译-完美的ADO[2](上)
 
本文告诉你怎样使ADO在你未来的应用中更简单。但是,首先,先向你展示使用ADO的另外一些细节(在你的ATL COM对象中或在你的应用程序中)。例子中,我会向你展示如何在ATL对象中使用ADO。我们使用ATL建立business层对象的所有数据IO和规则。 这样不但允许我们在特定的应用中使用这些规则和数据,而且另外一些“相关”的应用程序可以使用它们。以下是本文接触到的内容: 1、建立一个ATL对象。 2、在ATL对象中加入ADO。 3、在接口中加入方法和属性。 4、BSTR(_bstr_t), VARIANT(_variant_t), 和 SAFEARRAY。 5、使用Connection对象连接/关闭连接,从SQL建立记录集,使用Command对象。 6、使用Command对象执行存储程序。 7、将记录集转换称符号分割字符串,并传送给客户程序。 8、封装访问ADO的business逻辑应用。 9、展示VC++和VB如何使用COM对象的方法和属性。完美的ADO II by:Bob Place 1999.6.27 from:codeGuru 翻译:snoopy 一年多以前,我写了通用的Recordset。这是一个简单的包封了CDaoRecordset的类,令使用动态绑定大大简单化。然后,ADO来了,它缺省地使用动态绑定,跟DAO和通用的 ...
作者:不祥 ycr40张贴于2004-04-29 21:19:11.0,共阅读2804次,回复0
snoopy每日一译-完美的ADO
 
本文的目的是让你感到ADO没有什么可怕的,而不是ADO的细节。我甚至没有告诉你ADO能做什么。ADO比DAO更快、更容易使用、更强大。完美的ADO by:Bob Place 1999.4.4 from:codeGuru 翻译:snoopy 我们都很熟悉CDatabase和CDaoDatabase。它们相对比较容易去使用,它们很好地配合我们的应用程序,and they are easily distributed.使用CRecordset类,你很容易建立强大的数据库运用。 现在,当你刚刚感到用c++开发数据库项目有点把握的时候,微软推出一个叫UDA(Univeral Data Access数据统一访问)和一个相对简单,但缺乏文档说明的ADO(ActiveX Data Object)。非常不幸,微软的家伙们认为没有必要提供任何样子的文档Visual C开发人员。如果你试图从网上搜索,你会发现很难找倒有关ADO的好例子。 和ADO相处几个月后,我开始对ADO产生好感,可能将来我不用其它而只用ADO开发数据库。当你认识到ADO是多么容易使用、多么强大,你可能就会和我想的一样了。当我用DAO编写通用Recordset时,有一简单的方法使用数据动态绑定,那就是在查询(query)而不是表(table)上建立recordset。而对于ADO,缺省使用的就是数据动态绑定,这正是 ...
作者:不祥 ycr40张贴于2004-04-23 12:55:27.0,共阅读3542次,回复2