Ado的特殊使用方法
来源:互联网 发布:笔记本电脑录屏软件 编辑:程序博客网 时间:2024/04/28 21:57
1、建立数据库
BOOL CDataConfigCls::CreateDataBase(CString &szFileName,LPCSTR szCnn/* =NULL*/)
{
CString strCnn;
if(szCnn==NULL)
{
CString strTmp = m_strAppPath+"//"+szFileName;
CFileFind chFind;
if(!chFind.FindFile(strTmp))
{
ADOX::_CatalogPtr pAdoX=NULL;//不用RELEASE,自动会释放
try{
pAdoX.CreateInstance(_T("ADOX.Catalog"));
strTmp.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s"),m_strAppPath+"//"+szFileName);
pAdoX->Create((LPCTSTR)strTmp);//创建数据库
}
catch (...) {
return FALSE;
}
}
m_strDbFile = m_strAppPath+"//"+szFileName;
strCnn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+m_strDbFile+";Persist Security Info=False;";
}
else
{
strCnn =szCnn;
}
try
{
m_pCnn.CreateInstance(__uuidof(Connection));
m_pCnn->Open((LPCSTR)strCnn,"","",adConnectUnspecified);
}
catch(_com_error e)
{
return FALSE;
}
return CreateTable();
}
2-判断表是否存在
BOOL CDataConfigCls::TableExisted(CString &tableName)
{
if(adStateOpen!=m_pCnn->State) return FALSE;
try
{
_RecordsetPtr pRst = NULL;
pRst = m_pCnn->OpenSchema(adSchemaTables);
_variant_t vtTmp;
vtTmp = "TABLE_TYPE='TABLE'";
pRst->put_Filter(vtTmp);
if(NULL==pRst) return FALSE;
if(pRst->GetRecordCount()>0)
pRst->MoveFirst();
CString szTmp;
while (!pRst->adoEOF) {
vtTmp=pRst->GetCollect("TABLE_NAME");
szTmp = vtTmp.vt==VT_NULL?"":(char*)(_bstr_t)vtTmp;
szTmp.MakeUpper();
tableName.MakeUpper();
if( szTmp==tableName)
{
return TRUE;
}
pRst->MoveNext();
}
}
catch (_com_error e) {
return FALSE;
}
return FALSE;
}
- Ado的特殊使用方法
- treeview的使用方法,ado
- TextView特殊的使用方法
- ado使用方法
- Delphi下的原生ADO使用方法
- Android中AutoCompleteTextView的特殊使用方法
- TextView特殊的使用方法(炫酷)
- ADO.NET 的最全实例,Ado.Net最佳使用方法 ADO.NET 的最佳实践技巧
- ADO简易使用方法
- 【ADO.NET】DataSet使用方法
- ADO.NET TableMappings使用方法
- [ADO学习笔记] Recordset 对象中的updateBatch函数的使用方法
- 数据库特殊使用方法
- 流的特殊用法之管道流的使用方法案例
- 那位兄弟能否搞点完整的ado.net连接及使用方法
- 总结:ADO.NET在开发中的部分使用方法和技巧 选择自 yangyifan0 的 Blog
- 27:ASP.NET复习系列- ADO.NET基本知识点-数据集的使用方法和技巧
- 数据库 ADO 另一种使用方法和关于C++引用的两个小点【2013.10.16 小记】
- MD5算法
- 神仙
- 魔
- ASP中正则表达式的应用
- 测试驱动开发中的陷阱
- Ado的特殊使用方法
- 被入侵后的记录
- 如何显示在线人数和所在位置
- 实现梦想—自己搭建流媒体服务器
- 一个实现FTP断点续传的类
- 常见网络协议端口详解及部分攻击策略(tetra の网志)
- ASP.NET 学习历程
- 小心位操作
- iframe自动调整高度能在IE5里实现吗