如何使用c#代码在access中创建表? 我以前好像看过使用DDL语句必须是独占打开连接,是不是这个问题? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CREATE TABLE是SQL里面的,ACCESS支持吗!!! Excel都可以打开然后创建表,Access当然可以string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source="+sPath+ ";Extended Properties=Excel 8.0;"; OleDbCommand oComm=new OleDbCommand(); try { oComm.Connection=new OleDbConnection(strConn); oComm.Connection.Open(); string Sql="CREATE TABLE ["+sName+"] ("+sColumns+")"; oComm.CommandText=Sql; oComm.ExecuteNonQuery(); using System;using ADOX; namespace WebPortal{ /// <summary> /// CreateAccessDB 的摘要说明。 /// 对于不同版本的ADO,需要添加不同的引用 /// 请添加引用Microsoft ADO Ext. 2.7 for DDL and Security /// 请添加引用Microsoft ADO Ext. 2.8 for DDL and Security /// </summary> public class CreateAccessDB : System.Web.UI.Page { private void Page_Load(object sender, System.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); //设置主键 tbl.Keys.Append("PrimaryKey",ADOX.KeyTypeEnum.adKeyPrimary,"id","",""); cat.Tables.Append (tbl); Response.Write("<br>数据库表:" + tbl.Name + "已经创建成功!"); tbl=null; cat = null; } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion }} http://dotnet.aspx.cc/ShowDetail.aspx?id=275E8772-A68A-417F-FD66-B75EA44499A4 C# 关于页面弹出新任务提示框的问题!~!~ 用Sharppcap处理数据遇到的问题,求大家帮忙! FTPWebRequest 上传文件的问题,搞不定了,请各位帮忙 如何把二维数组的一行作为参数传入一个函数? 多重继承 c#从数据库读取数据并打印 c# richtextbox控件 字体加粗 TreeView 中的节点如何赋值呢? 如何写成word文档 一个文件指针操作的问题 如何将文本读取后放入数据表中 水晶报表中数据转换问题!
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source="+sPath+
";Extended Properties=Excel 8.0;";
OleDbCommand oComm=new OleDbCommand();
try
{
oComm.Connection=new OleDbConnection(strConn);
oComm.Connection.Open();
string Sql="CREATE TABLE ["+sName+"] ("+sColumns+")";
oComm.CommandText=Sql;
oComm.ExecuteNonQuery();
using ADOX; namespace WebPortal
{
/// <summary>
/// CreateAccessDB 的摘要说明。
/// 对于不同版本的ADO,需要添加不同的引用
/// 请添加引用Microsoft ADO Ext. 2.7 for DDL and Security
/// 请添加引用Microsoft ADO Ext. 2.8 for DDL and Security
/// </summary>
public class CreateAccessDB : System.Web.UI.Page
{
private void Page_Load(object sender, System.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); //设置主键
tbl.Keys.Append("PrimaryKey",ADOX.KeyTypeEnum.adKeyPrimary,"id","","");
cat.Tables.Append (tbl); Response.Write("<br>数据库表:" + tbl.Name + "已经创建成功!");
tbl=null;
cat = null;
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
} /// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}