//z 2012-08-10 19:33:37 IS2120@csdn.T2247216201[T74,L793,R28,V696]
在以前的文章《如何在.NET框架下创建Access数据库和表?》中提供的方法,在.NET 2.0下无效,所有的字段类型都变成了文本类型,不知道微软改变了什么东西。提醒大家注意,需要加ADOX.ColumnClass.Type = DataTypeEnum.adLongVarBinary属性。下面将修正后的代码发布如下。
C#:
<%
@ Page Language
=
"
C#
"
%>
<% @ Import Namespace = " ADOX " %>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< script runat ="server" >
// / <summary>
// / CreateAccessDB 的摘要说明。
// / 对于不同版本的ADO,需要添加不同的引用
// / 请添加引用Microsoft ADO Ext. 2.7 for DDL and Security
// / 请添加引用Microsoft ADO Ext. 2.8 for DDL and Security
// / </summary>
protected void Page_Load(object sender, EventArgs e)
{
// 为了方便测试,数据库名字采用比较随机的名字,以防止添加不成功时还需要重新启动IIS来删除数据库。
string dbName = " D:NewMDB " + DateTime.Now.Millisecond.ToString() + " .mdb " ;
ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.Create( " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + dbName + " ; " );
Response.Write( " 数据库: " + dbName + " 已经创建成功! " );
ADOX.TableClass tbl = new ADOX.TableClass();
tbl.ParentCatalog = cat;
tbl.Name = " MyTable " ;
// 增加一个自动增长的字段
ADOX.ColumnClass col = new ADOX.ColumnClass();
col.ParentCatalog = cat;
col.Type = ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
col.Name = " id " ;
col.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
col.Properties[ " AutoIncrement " ].Value = true ;
tbl.Columns.Append(col, ADOX.DataTypeEnum.adInteger, 0 );
// 增加一个文本字段
ADOX.ColumnClass col2 = new ADOX.ColumnClass();
col2.ParentCatalog = cat;
col2.Name = " Description " ;
col2.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25 );
// 增加数字字段
ADOX.ColumnClass col3 = new ADOX.ColumnClass();
col3.ParentCatalog = cat;
col3.Name = " 数字 " ;
col3.Type = DataTypeEnum.adDouble;
col3.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
tbl.Columns.Append(col3, ADOX.DataTypeEnum.adDouble, 666 );
// 增加Ole字段
ADOX.ColumnClass col4 = new ADOX.ColumnClass();
col4.ParentCatalog = cat;
col4.Name = " Ole类型 " ;
col4.Type = DataTypeEnum.adLongVarBinary;
col4.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
tbl.Columns.Append(col4, ADOX.DataTypeEnum.adLongVarBinary, 0 );
// 设置主键
tbl.Keys.Append( " PrimaryKey " , ADOX.KeyTypeEnum.adKeyPrimary, " id " , "" , "" );
cat.Tables.Append(tbl);
msg.Text = ( " <br>数据库表: " + tbl.Name + " 已经创建成功! " );
System.Runtime.InteropServices.Marshal.ReleaseComObject(tbl);
System.Runtime.InteropServices.Marshal.ReleaseComObject(cat);
tbl = null ;
cat = null ;
GC.WaitForPendingFinalizers();
GC.Collect();
}
</ script >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 在.NET框架下动态创建Access数据库和表 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< asp:Label ID ="msg" runat ="server" />
</ form >
</ body >
</ html >
<% @ Import Namespace = " ADOX " %>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< script runat ="server" >
// / <summary>
// / CreateAccessDB 的摘要说明。
// / 对于不同版本的ADO,需要添加不同的引用
// / 请添加引用Microsoft ADO Ext. 2.7 for DDL and Security
// / 请添加引用Microsoft ADO Ext. 2.8 for DDL and Security
// / </summary>
protected void Page_Load(object sender, EventArgs e)
{
// 为了方便测试,数据库名字采用比较随机的名字,以防止添加不成功时还需要重新启动IIS来删除数据库。
string dbName = " D:NewMDB " + DateTime.Now.Millisecond.ToString() + " .mdb " ;
ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.Create( " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + dbName + " ; " );
Response.Write( " 数据库: " + dbName + " 已经创建成功! " );
ADOX.TableClass tbl = new ADOX.TableClass();
tbl.ParentCatalog = cat;
tbl.Name = " MyTable " ;
// 增加一个自动增长的字段
ADOX.ColumnClass col = new ADOX.ColumnClass();
col.ParentCatalog = cat;
col.Type = ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
col.Name = " id " ;
col.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
col.Properties[ " AutoIncrement " ].Value = true ;
tbl.Columns.Append(col, ADOX.DataTypeEnum.adInteger, 0 );
// 增加一个文本字段
ADOX.ColumnClass col2 = new ADOX.ColumnClass();
col2.ParentCatalog = cat;
col2.Name = " Description " ;
col2.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25 );
// 增加数字字段
ADOX.ColumnClass col3 = new ADOX.ColumnClass();
col3.ParentCatalog = cat;
col3.Name = " 数字 " ;
col3.Type = DataTypeEnum.adDouble;
col3.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
tbl.Columns.Append(col3, ADOX.DataTypeEnum.adDouble, 666 );
// 增加Ole字段
ADOX.ColumnClass col4 = new ADOX.ColumnClass();
col4.ParentCatalog = cat;
col4.Name = " Ole类型 " ;
col4.Type = DataTypeEnum.adLongVarBinary;
col4.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
tbl.Columns.Append(col4, ADOX.DataTypeEnum.adLongVarBinary, 0 );
// 设置主键
tbl.Keys.Append( " PrimaryKey " , ADOX.KeyTypeEnum.adKeyPrimary, " id " , "" , "" );
cat.Tables.Append(tbl);
msg.Text = ( " <br>数据库表: " + tbl.Name + " 已经创建成功! " );
System.Runtime.InteropServices.Marshal.ReleaseComObject(tbl);
System.Runtime.InteropServices.Marshal.ReleaseComObject(cat);
tbl = null ;
cat = null ;
GC.WaitForPendingFinalizers();
GC.Collect();
}
</ script >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 在.NET框架下动态创建Access数据库和表 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< asp:Label ID ="msg" runat ="server" />
</ form >
</ body >
</ html >
<%
@ Page Language
=
"
VB
"
%>
<% @ Import Namespace = " ADOX " %>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< script runat ="server" >
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim dbName As String = " D:NewMDB " + DateTime.Now.Millisecond.ToString + " .mdb "
Dim cat As ADOX.CatalogClass = New ADOX.CatalogClass
cat.Create( " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + dbName + " ; " )
Response.Write( " 数据库: " + dbName + " 已经创建成功! " )
Dim tbl As ADOX.TableClass = New ADOX.TableClass
tbl.ParentCatalog = cat
tbl.Name = " MyTable "
Dim col As ADOX.ColumnClass = New ADOX.ColumnClass
col.ParentCatalog = cat
col.Type = ADOX.DataTypeEnum.adInteger
col.Name = " id "
col.Properties( " Jet OLEDB:Allow Zero Length " ).Value = False
col.Properties( " AutoIncrement " ).Value = True
tbl.Columns.Append(col, ADOX.DataTypeEnum.adInteger, 0 )
Dim col2 As ADOX.ColumnClass = New ADOX.ColumnClass
col2.ParentCatalog = cat
col2.Name = " Description "
col2.Properties( " Jet OLEDB:Allow Zero Length " ).Value = False
tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25 )
Dim col3 As ADOX.ColumnClass = New ADOX.ColumnClass
col3.ParentCatalog = cat
col3.Name = " 数字 "
col3.Type = DataTypeEnum.adDouble
col3.Properties( " Jet OLEDB:Allow Zero Length " ).Value = False
tbl.Columns.Append(col3, ADOX.DataTypeEnum.adDouble, 666 )
Dim col4 As ADOX.ColumnClass = New ADOX.ColumnClass
col4.ParentCatalog = cat
col4.Name = " Ole类型 "
col4.Type = DataTypeEnum.adLongVarBinary
tbl.Columns.Append(col4, ADOX.DataTypeEnum.adLongVarBinary, 0 )
tbl.Keys.Append( " PrimaryKey " , ADOX.KeyTypeEnum.adKeyPrimary, " id " , "" , "" )
cat.Tables.Append(tbl)
msg.Text = ( " <br>数据库表: " + tbl.Name + " 已经创建成功! " )
System.Runtime.InteropServices.Marshal.ReleaseComObject(tbl)
System.Runtime.InteropServices.Marshal.ReleaseComObject(cat)
tbl = Nothing
cat = Nothing
GC.WaitForPendingFinalizers()
GC.Collect()
End Sub
</ script >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head id ="Head1" runat ="server" >
< title > 在.NET框架下动态创建Access数据库和表 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< asp:Label ID ="msg" runat ="server" />
</ form >
</ body >
</ html >
<% @ Import Namespace = " ADOX " %>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< script runat ="server" >
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim dbName As String = " D:NewMDB " + DateTime.Now.Millisecond.ToString + " .mdb "
Dim cat As ADOX.CatalogClass = New ADOX.CatalogClass
cat.Create( " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + dbName + " ; " )
Response.Write( " 数据库: " + dbName + " 已经创建成功! " )
Dim tbl As ADOX.TableClass = New ADOX.TableClass
tbl.ParentCatalog = cat
tbl.Name = " MyTable "
Dim col As ADOX.ColumnClass = New ADOX.ColumnClass
col.ParentCatalog = cat
col.Type = ADOX.DataTypeEnum.adInteger
col.Name = " id "
col.Properties( " Jet OLEDB:Allow Zero Length " ).Value = False
col.Properties( " AutoIncrement " ).Value = True
tbl.Columns.Append(col, ADOX.DataTypeEnum.adInteger, 0 )
Dim col2 As ADOX.ColumnClass = New ADOX.ColumnClass
col2.ParentCatalog = cat
col2.Name = " Description "
col2.Properties( " Jet OLEDB:Allow Zero Length " ).Value = False
tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25 )
Dim col3 As ADOX.ColumnClass = New ADOX.ColumnClass
col3.ParentCatalog = cat
col3.Name = " 数字 "
col3.Type = DataTypeEnum.adDouble
col3.Properties( " Jet OLEDB:Allow Zero Length " ).Value = False
tbl.Columns.Append(col3, ADOX.DataTypeEnum.adDouble, 666 )
Dim col4 As ADOX.ColumnClass = New ADOX.ColumnClass
col4.ParentCatalog = cat
col4.Name = " Ole类型 "
col4.Type = DataTypeEnum.adLongVarBinary
tbl.Columns.Append(col4, ADOX.DataTypeEnum.adLongVarBinary, 0 )
tbl.Keys.Append( " PrimaryKey " , ADOX.KeyTypeEnum.adKeyPrimary, " id " , "" , "" )
cat.Tables.Append(tbl)
msg.Text = ( " <br>数据库表: " + tbl.Name + " 已经创建成功! " )
System.Runtime.InteropServices.Marshal.ReleaseComObject(tbl)
System.Runtime.InteropServices.Marshal.ReleaseComObject(cat)
tbl = Nothing
cat = Nothing
GC.WaitForPendingFinalizers()
GC.Collect()
End Sub
</ script >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head id ="Head1" runat ="server" >
< title > 在.NET框架下动态创建Access数据库和表 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< asp:Label ID ="msg" runat ="server" />
</ form >
</ body >
</ html >
【Update】下面的代码添加对现有数据库的字段添加:
//z 2012-08-10 19:33:37 IS2120@csdn.T2247216201[T74,L793,R28,V696]
<%
@ Page Language
=
"
C#
"
%>
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN "
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< script runat = " server " >
/// <summary>
/// CreateAccessDB 的摘要说明。
/// 对于不同版本的ADO,需要添加不同的引用
/// 请添加引用: Microsoft ADO Ext. 2.7 for DDL and Security
/// 请添加引用: Microsoft ADO Ext. 2.8 for DDL and Security
/// 另外,如果修改数据库,需要添加引用: Microsoft ActiveX Data Objects 2.8 Library
/// </summary>
protected void Page_Load( object sender, EventArgs e )
{
// 为了方便测试,数据库名字采用比较随机的名字,以防止添加不成功时还需要重新启动IIS来删除数据库。
string dbName = Server.MapPath( " ~ " ) + " NewMDB " + DateTime.Now.Millisecond.ToString() + " .mdb " ;
ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.Create( " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + dbName + " ; " );
Response.Write( " 数据库: " + dbName + " 已经创建成功! " );
ADOX.TableClass tbl = new ADOX.TableClass();
tbl.ParentCatalog = cat;
tbl.Name = " MyTable " ;
// 增加一个自动增长的字段
ADOX.ColumnClass col = new ADOX.ColumnClass();
col.ParentCatalog = cat;
col.Type = ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
col.Name = " id " ;
col.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
col.Properties[ " AutoIncrement " ].Value = true ;
tbl.Columns.Append(col, ADOX.DataTypeEnum.adInteger, 0 );
// 增加一个文本字段
ADOX.ColumnClass col2 = new ADOX.ColumnClass();
col2.ParentCatalog = cat;
col2.Name = " Description " ;
col2.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25 );
// 增加数字字段
ADOX.ColumnClass col3 = new ADOX.ColumnClass();
col3.ParentCatalog = cat;
col3.Name = " 数字类型字段 " ;
col3.Type = ADOX.DataTypeEnum.adDouble;
col3.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
tbl.Columns.Append(col3, ADOX.DataTypeEnum.adDouble, 666 );
// 增加Ole字段
ADOX.ColumnClass col4 = new ADOX.ColumnClass();
col4.ParentCatalog = cat;
col4.Name = " Ole类型字段 " ;
col4.Type = ADOX.DataTypeEnum.adLongVarBinary;
col4.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
tbl.Columns.Append(col4, ADOX.DataTypeEnum.adLongVarBinary, 0 );
Response.Write( " <h4>得到各个列的名字:</h4> " );
for ( int i = 0 ; i < tbl.Columns.Count ; i ++ )
{
Response.Write( " <li> " + i.ToString() + " = " + tbl.Columns[i].Name + " 类型: " + tbl.Columns[i].Type.ToString());
}
Response.Write( " <h4>删除 Description 列:</h4> " );
tbl.Columns.Delete( " Description " );
tbl.Columns.Refresh();
Response.Write( " <h4>修改 “数字类型字段” 列名字:</h4> " );
ADOX.ColumnClass col5 = (ADOX.ColumnClass)tbl.Columns[ " 数字类型字段 " ];
col5.Name = " 新名字类型字段 " ;
tbl.Columns.Refresh();
// 设置主键
tbl.Keys.Append( " PrimaryKey " , ADOX.KeyTypeEnum.adKeyPrimary, " id " , "" , "" );
cat.Tables.Append(tbl);
Response.Write( " <br>数据库表: " + tbl.Name + " 已经创建成功! " );
Response.Write( " <h4>修改现有数据库:</h4> " );
// 打开已经存在的数据库,添加字段
string ConnectionString = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + dbName;
ADODB.Connection cn = new ADODB.Connection();
cn.Open(ConnectionString, null , null , 0 );
cat = new ADOX.CatalogClass();
cat.ActiveConnection = cn;
Response.Write( " 数据库: " + dbName + " 已经打开成功! " );
ADOX.Table dbTable = cat.Tables[ " MyTable " ];
// 增加一个文本字段
ADOX.Column newColumn = new ADOX.Column();
newColumn.ParentCatalog = cat;
newColumn.Name = " Address " ;
newColumn.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
dbTable.Columns.Append(newColumn, ADOX.DataTypeEnum.adVarChar, 255 );
Response.Write( " <br>数据库表: " + dbTable.Name + " 修改成功! " );
cn.Close();
System.Runtime.InteropServices.Marshal.ReleaseComObject(tbl);
System.Runtime.InteropServices.Marshal.ReleaseComObject(dbTable);
System.Runtime.InteropServices.Marshal.ReleaseComObject(cat);
System.Runtime.InteropServices.Marshal.ReleaseComObject(cn);
col = null ;
col2 = null ;
col3 = null ;
col4 = null ;
col5 = null ;
newColumn = null ;
tbl = null ;
dbTable = null ;
cat = null ;
GC.WaitForPendingFinalizers();
GC.Collect();
}
</ script >
< html xmlns = " http://www.w3.org/1999/xhtml " >
< head runat = " server " >
< title > 创建、修改 Access 数据库 </ title >
</ head >
< body >
< form id = " Mengxianhui " runat = " server " ></ form >
</ body >
</ html >
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN "
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< script runat = " server " >
/// <summary>
/// CreateAccessDB 的摘要说明。
/// 对于不同版本的ADO,需要添加不同的引用
/// 请添加引用: Microsoft ADO Ext. 2.7 for DDL and Security
/// 请添加引用: Microsoft ADO Ext. 2.8 for DDL and Security
/// 另外,如果修改数据库,需要添加引用: Microsoft ActiveX Data Objects 2.8 Library
/// </summary>
protected void Page_Load( object sender, EventArgs e )
{
// 为了方便测试,数据库名字采用比较随机的名字,以防止添加不成功时还需要重新启动IIS来删除数据库。
string dbName = Server.MapPath( " ~ " ) + " NewMDB " + DateTime.Now.Millisecond.ToString() + " .mdb " ;
ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.Create( " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + dbName + " ; " );
Response.Write( " 数据库: " + dbName + " 已经创建成功! " );
ADOX.TableClass tbl = new ADOX.TableClass();
tbl.ParentCatalog = cat;
tbl.Name = " MyTable " ;
// 增加一个自动增长的字段
ADOX.ColumnClass col = new ADOX.ColumnClass();
col.ParentCatalog = cat;
col.Type = ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
col.Name = " id " ;
col.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
col.Properties[ " AutoIncrement " ].Value = true ;
tbl.Columns.Append(col, ADOX.DataTypeEnum.adInteger, 0 );
// 增加一个文本字段
ADOX.ColumnClass col2 = new ADOX.ColumnClass();
col2.ParentCatalog = cat;
col2.Name = " Description " ;
col2.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25 );
// 增加数字字段
ADOX.ColumnClass col3 = new ADOX.ColumnClass();
col3.ParentCatalog = cat;
col3.Name = " 数字类型字段 " ;
col3.Type = ADOX.DataTypeEnum.adDouble;
col3.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
tbl.Columns.Append(col3, ADOX.DataTypeEnum.adDouble, 666 );
// 增加Ole字段
ADOX.ColumnClass col4 = new ADOX.ColumnClass();
col4.ParentCatalog = cat;
col4.Name = " Ole类型字段 " ;
col4.Type = ADOX.DataTypeEnum.adLongVarBinary;
col4.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
tbl.Columns.Append(col4, ADOX.DataTypeEnum.adLongVarBinary, 0 );
Response.Write( " <h4>得到各个列的名字:</h4> " );
for ( int i = 0 ; i < tbl.Columns.Count ; i ++ )
{
Response.Write( " <li> " + i.ToString() + " = " + tbl.Columns[i].Name + " 类型: " + tbl.Columns[i].Type.ToString());
}
Response.Write( " <h4>删除 Description 列:</h4> " );
tbl.Columns.Delete( " Description " );
tbl.Columns.Refresh();
Response.Write( " <h4>修改 “数字类型字段” 列名字:</h4> " );
ADOX.ColumnClass col5 = (ADOX.ColumnClass)tbl.Columns[ " 数字类型字段 " ];
col5.Name = " 新名字类型字段 " ;
tbl.Columns.Refresh();
// 设置主键
tbl.Keys.Append( " PrimaryKey " , ADOX.KeyTypeEnum.adKeyPrimary, " id " , "" , "" );
cat.Tables.Append(tbl);
Response.Write( " <br>数据库表: " + tbl.Name + " 已经创建成功! " );
Response.Write( " <h4>修改现有数据库:</h4> " );
// 打开已经存在的数据库,添加字段
string ConnectionString = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + dbName;
ADODB.Connection cn = new ADODB.Connection();
cn.Open(ConnectionString, null , null , 0 );
cat = new ADOX.CatalogClass();
cat.ActiveConnection = cn;
Response.Write( " 数据库: " + dbName + " 已经打开成功! " );
ADOX.Table dbTable = cat.Tables[ " MyTable " ];
// 增加一个文本字段
ADOX.Column newColumn = new ADOX.Column();
newColumn.ParentCatalog = cat;
newColumn.Name = " Address " ;
newColumn.Properties[ " Jet OLEDB:Allow Zero Length " ].Value = false ;
dbTable.Columns.Append(newColumn, ADOX.DataTypeEnum.adVarChar, 255 );
Response.Write( " <br>数据库表: " + dbTable.Name + " 修改成功! " );
cn.Close();
System.Runtime.InteropServices.Marshal.ReleaseComObject(tbl);
System.Runtime.InteropServices.Marshal.ReleaseComObject(dbTable);
System.Runtime.InteropServices.Marshal.ReleaseComObject(cat);
System.Runtime.InteropServices.Marshal.ReleaseComObject(cn);
col = null ;
col2 = null ;
col3 = null ;
col4 = null ;
col5 = null ;
newColumn = null ;
tbl = null ;
dbTable = null ;
cat = null ;
GC.WaitForPendingFinalizers();
GC.Collect();
}
</ script >
< html xmlns = " http://www.w3.org/1999/xhtml " >
< head runat = " server " >
< title > 创建、修改 Access 数据库 </ title >
</ head >
< body >
< form id = " Mengxianhui " runat = " server " ></ form >
</ body >
</ html >