asfman
android developer
posts - 90,  comments - 213,  trackbacks - 0
<?xml version="1.0" encoding="UTF-8"?>
<component>
  <registration progid="asfman.createTable" classid="{11223344-aabb-ccdd-eeff-012345678901}" description="创建数据库表" version="1">
  <script language="VBScript">
  <![CDATA[
     Function Register
    MsgBox "数据库表组件注册成功!",0,"注册信息"
  End Function
  Function UnRegister
    MsgBox "数据库表组件卸载成功!",0,"卸载信息"
  End Function
  ]]>
  </script>
  </registration>
 <public>
    <property name="Name" dispid="0" description="组件名称">
    <get internalName="componentName" />
 </property>
    <method name="createTable">
    <parameter name="connStr" description="数据库名字" />
    <parameter name="tName" description="表名" />
    <parameter name="config" description="一个对象包含字段名字和类型" />
    <parameter name="bFlag" description="boolean值,true为创建新的数据库,默认数据库已经存在" />
 </method>
 </public>
<implements type="ASP"/>
<script language="Javascript">
<![CDATA[
function componentName()
{
 return "数据库表组件!"
}
var ColumnType = {
 "SmallInt" : 2,  // 整型
 "Int" : 3,   // 长整型
 "Real" : 4,   // 单精度型
 "Float" : 5,  // 双精度型
 "Money" : 6,  // 货币
 "DateTime" : 7,  // 日期时间
 "Bit" : 11,   // 是否
 "TimeStamp" : 13,
 "TinyInt" : 17,  // 字节
 "UniqueIdentifier" : 72, // 同步复制 ID
 "Binary" : 128,
 "Char" : 129,
 "NChar" : 130,
 "Decimal" : 131,  // 小数
 "Date" : 133,
 "SmallDateTime" : 135,
 "VarChar" : 202,  // 文本
 "Text" : 203,           //备注(200 sql varchar 201 sql text)
 "Binary" : 204,   // 二进制数据
 "Image" : 205   // OLE 对象
}
function enumDataType(strType)
{
 strType = strType.toLowerCase();
 for(var x in ColumnType)
 {
  if(x.toLowerCase() == strType) return ColumnType[x];
 }
  return 128;
}
function createTable(connStr,tName,config,bFlag)
{
 var oCatalog = new ActiveXObject("AdoX.Catalog");
 bFlag ? oCatalog.Create("Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + connStr) : (oCatalog.ActiveConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + connStr);
 var oTable = new ActiveXObject("AdoX.Table");
 oTable.Name = tName;
 oTable.ParentCatalog = oCatalog;
 oTable.Columns.Append("id",3);
 oTable.Columns("id").Properties("AutoIncrement") = true; 
 for(var i in config)
 {
  if(config.hasOwnProperty(i))
  {
   oTable.Columns.Append(i,enumDataType(config[i]));
  }
 }
    oCatalog.Tables.Append(oTable);
 oCatalog.ActiveConnection.Close();
 oCatalog = null;
}
]]>
</script>
<comment>
示例:createTable("fk.mdb","fk3",{name:"varchar",value:"Text"},false);
</comment>
</component>
posted on 2007-11-14 16:44 汪杰 阅读(345) 评论(0)  编辑 收藏 引用 所属分类: asp(javascrpt)
只有注册用户登录后才能发表评论。

<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿(15)

随笔分类(1)

随笔档案(90)

文章分类(727)

文章档案(712)

相册

收藏夹

http://blog.csdn.net/prodigynonsense

友情链接

最新随笔

搜索

  •  

积分与排名

  • 积分 - 467490
  • 排名 - 6

最新随笔

最新评论

阅读排行榜

评论排行榜