仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 771|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL网页设计猎取ACCESS2000数据库中一切表的称号

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:19:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
有的时候,一些缺失的功能可以通过别的办法来实现,例如,在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[MAX_PATH];
TCHARbigBuff[2048]=_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存储的结构理解息息相关
兰色精灵 该用户已被删除
5#
发表于 2015-2-13 05:36:49 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
小魔女 该用户已被删除
6#
发表于 2015-3-3 15:51:45 | 只看该作者
一个是把SQL语句写到客户端,可以使用DataSet进行加工;
老尸 该用户已被删除
7#
发表于 2015-3-11 12:14:40 | 只看该作者
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
若相依 该用户已被删除
8#
发表于 2015-3-18 16:22:54 | 只看该作者
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
第二个灵魂 该用户已被删除
9#
发表于 2015-3-26 12:43:13 | 只看该作者
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-5 22:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表