|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。教程语法
setconnection=server.createobject(“adodb.connection“)
Setrecordset=connection.OpenSchema(QueryType,Criteria,SchemaID)
前往值
前往包括形式信息的Recordset工具。Recordset将以只读、静态游标翻开。
参数
QueryType所要运转的形式查询范例,能够为以下恣意常量。
Criteria可选。每一个QueryType选项的查询限定前提数组,
参数列举(QueryType)
----SchemaEnumValues----
ConstadSchemaProviderSpecific=-1
ConstadSchemaAsserts=0
ConstadSchemaCatalogs=1
ConstadSchemaCharacterSets=2
ConstadSchemaCollations=3
ConstadSchemaColumns=4
ConstadSchemaCheckConstraints=5
ConstadSchemaConstraintColumnUsage=6
ConstadSchemaConstraintTableUsage=7
ConstadSchemaKeyColumnUsage=8
ConstadSchemaReferentialContraints=9
ConstadSchemaTableConstraints=10
ConstadSchemaColumnsDomainUsage=11
ConstadSchemaIndexes=12
ConstadSchemaColumnPrivileges=13
ConstadSchemaTablePrivileges=14
ConstadSchemaUsagePrivileges=15
ConstadSchemaProcedures=16
ConstadSchemaSchemata=17
ConstadSchemaSQLLanguages=18
ConstadSchemaStatistics=19
ConstadSchemaTables=20
ConstadSchemaTranslations=21
ConstadSchemaProviderTypes=22
ConstadSchemaViews=23
ConstadSchemaViewColumnUsage=24
ConstadSchemaViewTableUsage=25
ConstadSchemaProcedureParameters=26
ConstadSchemaForeignKeys=27
ConstadSchemaPrimaryKeys=28
ConstadSchemaProcedureColumns=29
使用openschema能够取得一切表的主键,固然这只是它的良多功效中的一个。
connstr="Provider=MSDAORA.1;UserID=liujincai;password=ljc1001;DataSource=hp1"
setmm=server.CreateObject("adodb.connection")
mm.Openconnstr
ConstadSchemaPrimaryKeys=28
setrs=mm.OpenSchema(adSchemaPrimaryKeys)
Response.Write"<table>"
Response.Write"<TR>"
fori=0tors.fields.count-1
Response.Write"<td>"&rs(i).name&"</td>"
next
Response.Write"</tr>"
dowhilenotrs.eof
Response.Write"<tr>"
fori=0tors.fields.count-1
Response.Write"<td>"&rs(i)&"</td>"
next
Response.Write"</tr>"
rs.movenext
loop
Response.write“</table>“
上面的语句取得表TB_HOUSE_MAIN的主键地点的字段
rs.Filter="TABLE_NAME=TB_HOUSE_MAIN"
ifnot(rs.eofandrs.bof)thenResponse.Writers("COLUMN_NAME")
取得恣意一个存储历程的参数列表,这个关于想做完整松耦合体系的哥们必定有效的。这个程序取得名字为PRO_HOUSE_ADD_INFO的存储历程的参数列表
connstr="Provider=MSDAORA.1;UserID=liujincai;password=ljc1001;DataSource=hp1"
setmm=server.CreateObject("adodb.connection")
mm.Openconnstr
ConstadSchemaProcedureParameters=26
setrs=mm.OpenSchema(adSchemaProcedureParameters)rs.Filter="PROCEDURE_NAME=PRO_HOUSE_ADD_INFO"Response.Write"<TABLEcellSpacing=0border=1>"
Response.Write"<TBODY><TRbgColor=#dddddd>"
fori=2tors.fields.count-1
Response.Write"<TD>"&rs(i).name&"</TD>"
next
Response.Write"</TR>"
dowhilenotrs.eof
Response.Write"<TRbgColor=#e0d0c0>"
fori=2tors.fields.count-1
Response.Write"<TD>"&rs(i)&"</TD>"
next
Response.Write"</tr>"
rs.movenext
loop
Response.Write"</table>"
经由几个小时的理论探究,终究停止了对Adodb.connection的openschema办法的研讨。如今总结一下:
1,Setrecordset=connection.OpenSchema(QueryType,Criteria,SchemaID)
里边一共有三个参数,可是一样平常就用第一个,后两个得切实功效,我也没有弄懂,这里也不做申明,有乐趣的本人查材料。
2,这个的完成就是经由过程毗连工具的openschema办法前往一个纪录集。如许就能够遍历纪录集来显现大概汇集理性趣的信息。
3,使用它你还能够取得关于表,视图,列,索引,外键等信息。
4,如今不克不及一定的是,是不是有些体例的形式查询受用户权限的限定。也就是假如没有充足的权限,是不克不及做某些种别的形式查询的(有待考证)
5,这里有一些关于OpenSchema的材料毗连,供查阅:
http://www.lyu.edu.cn/home/yss/ado/mdmthopenschema.htm
http://code365.com/html/asp/20040227/index/2004227113621.html
在ASP中列出数据库中的表名和字段名的程序
SetrstSchema=oConn.OpenSchema(adSchemaColumns)
这是关头的地方
<%
dsn="DSN=DSNName"
ConstadSchemaTables=20
adSchemaColumns=4
SetoConn=Server.CreateObject("ADODB.Connection")
oConn.opendsn
SetrstSchema=oConn.OpenSchema(adSchemaColumns)
response.write"<table>"
response.write"<tr><td>Tablename</td><td>fieldname</td><td>fieldtype</td><td>isnullable</td><td>fieldsize</td></tr>"
tablename=""
DoUntilrstSchema.EOF
response.write"<tr><td>"
ifrstSchema("Table_name")tablenamethen
response.writerstSchema("Table_name")
tablename=rstSchema("Table_name")
else
response.write""
endif
response.write"</td><td>"&rstschema("column_Name")&"</td><td>"
selectcaserstschema("data_type")
case"130"
ifrstschema("CHARACTER_MAXIMUM_LENGTH")=1073741823then
response.write"Memo"
else
response.write"Text"
endif
case135
response.write"Date/Time"
case3
response.write"LongInteger"
case11
response.write"Yes/No"
case131
response.write"Currency"
caseelse
response.writerstschema("data_type")
endselect
response.write"</td><td>"&rstschema("is_nullable")&"</td><td>"
ifrstschema("CHARACTER_MAXIMUM_LENGTH")1073741823then
response.writerstschema("CHARACTER_MAXIMUM_LENGTH")
else
response.write""
endif
response.write"</td></tr>"
rstSchema.MoveNext
Loop
response.write"</table>"
%>因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。 |
|