山那边是海 发表于 2015-1-16 22:19:52

MYSQL网页设计猎取ACCESS2000数据库中一切表的称号

有的时候,一些缺失的功能可以通过别的办法来实现,例如,在MySQL4.1以前,你可以通过使用join方法来替代子查询的功能。在MySQL5.0中,大多数关系型数据库所要求的功能已经都具备。voidOpenSchemaX(TCHAR*TableName)
{
HRESULThr=S_OK;
::CoInitialize(NULL);//初始化Com
IADORecordBinding*picRs=NULL;
_RecordsetPtrpRstSchema("ADODB.Recordset");
_ConnectionPtrpConnection("ADODB.Connection");
pConnection->ConnectionString=TableName;
pConnection->Provider="Microsoft.Jet.OLEDB.4.0";
try
{
pConnection->Open(pConnection->ConnectionString,"","",adModeUnknown);
pRstSchema->QueryInterface(
__uuidof(IADORecordBinding),(LPVOID*)&picRs);
pRstSchema=pConnection->OpenSchema(adSchemaTables);//列举表的称号处置
while(!(pRstSchema->EndOfFile))
{
CStringstrTableType;
_bstr_ttable_name=pRstSchema->Fields->
GetItem("TABLE_NAME")->Value;//猎取表的称号
_bstr_ttable_type=pRstSchema->Fields->
GetItem("TABLE_TYPE")->Value;//猎取表的范例
strTableType.Format("%s",(LPCSTR)table_type);
if(!lstrcmp(strTableType,_T("TABLE")))
{
m_strList.AddString((LPCSTR)table_name);//增加表的称号
}
pRstSchema->MoveNext();
}
//Cleanupobjectsbeforeexit.
pRstSchema->Close();
pConnection->Close();
}
catch(_com_error&e)
{
//Notifytheuseroferrorsifany.
//PassaconnectionpointeraccessedfromtheConnection.
PrintProviderError(pConnection);
PrintComError(e);
}
CoUninitialize();
}
voidPrintProviderError(_ConnectionPtrpConnection)
{
ErrorPtrpErr=NULL;
if((pConnection->Errors->Count)>0)
{
longnCount=pConnection->Errors->Count;
//Collectionrangesfrom0tonCount-1.
for(longi=0;i<nCount;i++)
{
pErr=pConnection->Errors->GetItem(i);
CStringstrError;
strError.Format("Errornumber:%x        %s",pErr->Number,pErr->Description);
AfxMessageBox(strError);
}
}
}
voidPrintComError(_com_error&e)
{
_bstr_tbstrSource(e.Source());
_bstr_tbstrDescription(e.Description());
//PrintCOMerrors.
CStringstrError;
strError.Format("Errornumber:Description=%s        Codemeaning=%s",(LPCSTR)bstrDescription,e.ErrorMessage());
AfxMessageBox(strError);
}
挪用办法:
CStringstrFileName;
TCHARFileName;
TCHARbigBuff=_T("");//maximumcommondialogbuffersize
TCHARszFilter[]=_T("TextFiles(*.mdb)|*.mdb|AllFiles(*.*)|*.*
");
CFileDialogdlg(TRUE,NULL,NULL,
OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,szFilter);
//ModifyOPENFILENAMEmembersdirectlytopointtobigBuff
dlg.m_ofn.lpstrFile=bigBuff;
dlg.m_ofn.nMaxFile=sizeof(bigBuff);
if(IDOK==dlg.DoModal())
{
strFileName=dlg.GetPathName();
lstrcpy(FileName,strFileName);
OpenSchemaX(FileName);
}(出处:风闪网路学院)


不可否认,MySQL也是一个很好的关系型数据库,或许在技术上它与其他领先的关系数据库相差并不大,或不具有劣势。但是,对于一些企业环境来说,MySQL显然不具有优势。

因胸联盟 发表于 2015-1-19 08:51:27

学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!

灵魂腐蚀 发表于 2015-1-28 05:53:54

个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。

变相怪杰 发表于 2015-2-5 18:11:45

不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关

兰色精灵 发表于 2015-2-13 05:36:49

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

小魔女 发表于 2015-3-3 15:51:45

一个是把SQL语句写到客户端,可以使用DataSet进行加工;

老尸 发表于 2015-3-11 12:14:40

having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。

若相依 发表于 2015-3-18 16:22:54

Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。

第二个灵魂 发表于 2015-3-26 12:43:13

始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
页: [1]
查看完整版本: MYSQL网页设计猎取ACCESS2000数据库中一切表的称号