{
//为了方便测试,数据库名字采用比较随机的名字,以防止添加不成功时还需要重新启动IIS来删除数据库。
string time = DateTime.Now.Year.ToString()
if (DateTime.Now.Month <10)//判断当前月是否小于10
{
time += "0" + DateTime.Now.Month
}
else
{
time += DateTime.Now.Month
}
time += DateTime.Now.Day
string apppath = System.Web.HttpContext.Current.Request.ApplicationPath
string dbName = System.Web.HttpContext.Current.Server.MapPath("\\" + apppath + "\\NewMDB\\CGMDB" + time + ".mdb")
ADOX.CatalogClass cat = new ADOX.CatalogClass()
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0Data Source=" + dbName + "")
//ADODB.Connection cn = new ADODB.Connection()
//cn.Open("Provider=Microsoft.Jet.OLEDB.4.0Data Source=" + dbName + "", null, null, -1)
// cat.ActiveConnection = cn
ADOX.TableClass tbl = new ADOX.TableClass()
tbl.ParentCatalog = cat
tbl.Name = "WTMDBTable"
ADOX.ColumnClass col2 = new ADOX.ColumnClass()
col2.ParentCatalog = cat
col2.Name = "CheckSignNo"
col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false
tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 50)
//增加一个文本字段
ADOX.ColumnClass col3 = new ADOX.ColumnClass()
col3.ParentCatalog = cat
col3.Name = "CarNo"
col3.Properties["Jet OLEDB:Allow Zero Length"].Value = false
tbl.Columns.Append(col3, ADOX.DataTypeEnum.adVarChar, 50)
//增加一个文本字段
ADOX.ColumnClass col4 = new ADOX.ColumnClass()
col4.ParentCatalog = cat
col4.Name = "CheckDate"
col4.Properties["Jet OLEDB:Allow Zero Length"].Value = false
tbl.Columns.Append(col4, ADOX.DataTypeEnum.adVarChar, 50)
//增加一个文本字段
ADOX.ColumnClass col5 = new ADOX.ColumnClass()
col5.ParentCatalog = cat
col5.Name = "TownClass"
col5.Properties["Jet OLEDB:Allow Zero Length"].Value = false
tbl.Columns.Append(col5, ADOX.DataTypeEnum.adVarChar, 50)
//增加一个文本字段
ADOX.ColumnClass col6 = new ADOX.ColumnClass()
col6.ParentCatalog = cat
col6.Name = "Address"
col6.Properties["Jet OLEDB:Allow Zero Length"].Value = false
tbl.Columns.Append(col6, ADOX.DataTypeEnum.adVarChar, 200)
//增加一个文本字段
ADOX.ColumnClass col7 = new ADOX.ColumnClass()
col7.ParentCatalog = cat
col7.Name = "Action"
col7.Properties["Jet OLEDB:Allow Zero Length"].Value = false
tbl.Columns.Append(col7, ADOX.DataTypeEnum.adVarChar, 50)
//增加一个文本字段
ADOX.ColumnClass col8 = new ADOX.ColumnClass()
col8.ParentCatalog = cat
col8.Name = "CarType"
col8.Properties["Jet OLEDB:Allow Zero Length"].Value = false
tbl.Columns.Append(col8, ADOX.DataTypeEnum.adVarChar, 50)
//增加一个文本字段
ADOX.ColumnClass col9 = new ADOX.ColumnClass()
col9.ParentCatalog = cat
col9.Name = "Mark"
col9.Properties["Jet OLEDB:Allow Zero Length"].Value = false
tbl.Columns.Append(col9, ADOX.DataTypeEnum.adVarChar, 50)
//设置主键
tbl.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "CheckSignNo", "", "")
cat.Tables.Append(tbl)
System.Runtime.InteropServices.Marshal.ReleaseComObject(tbl)
System.Runtime.InteropServices.Marshal.ReleaseComObject(cat)
tbl = null
cat = null
GC.WaitForPendingFinalizers()
GC.Collect()
}
以上代码可以完成创建一个MDB数据库了
1.建表的过程create proc proc_rgsNewTable
as
begin
--搜索表 存在则先删除
if exists (select * from sysobjects where xtype='U' and name='tableName')
drop table tableName
go
--建表语句
create table tableName
...
go
end
2.一个项目多库
1)连接 写一个连接数据库连接配置类.
只要配置不同的路径就可以连接不同的库
选择方法:
不同的类
在构造方法里加连接参数
先建立不同的连接,用参数(常量)匹配.
2)联表查询
在同一个服务器下,可以用[库名]..表名查询其他库的表.
比如:
DB1 连接,表t2 在DB2下.
select * from [DB2]..t2 就可以查询,用法和本库查询一样.
string sql="server=数据库服务器名字database=数据库名字uid=用户名pwd=密码"//数据库连接字符串。sqlconnection sqlcon=new sqlconnection(sql)//创建SQLCONNECTION连接。
sqlconn.open()//打开连接;
///
这里是执行的 *** 作,基本是SQLCOMMAND或SQLDATAAPARDER
///
sqlconn.close()关闭连接。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)