我看过一些教程,但我尝试的一切都不起作用。
我想要一个简单的项目,只有一个文本框(数据库名称所在的位置)和一个创建Access
数据库并将其保存在c:\
.
你能帮帮我吗?:)
为此,您将需要 catlogclass,如下所示:
CatalogClass catcls = new CatalogClass();
string tmpStr;
string filename = txtFileName.Text+".MDB";
tmpStr = "Provider=Microsoft.Jet.OLEDB.4.0;";
tmpStr += "Data Source=" + filename + ";Jet OLEDB:Engine Type=5";
catcls.Create(tmpStr);
下一步是创建表:
Table nTable = new Table();
nTable.Name = "tlbData";
nTable.Columns.Append("FName", DataTypeEnum.adVarWChar, 25);
catcls.Tables.Append(nTable);
使用以下代码释放 COM 对象:
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(nTable);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(catcls.Tables);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(catcls.ActiveConnection);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(catcls);
希望它有帮助。
以编程方式.. 在 VB Net 中创建 MDB,使用此功能
Public Function CreateAccessDatabase( _
ByVal DatabaseFullPath As String) As Boolean
Dim bAns As Boolean
Dim cat As New ADOX.Catalog()
Try
'Make sure the folder
'provided in the path exists. If file name w/o path
'is specified, the database will be created in your
'application folder.
Dim sCreateString As String
sCreateString = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
DatabaseFullPath
cat.Create(sCreateString)
bAns = True
Catch Excep As System.Runtime.InteropServices.COMException
bAns = False
'do whatever else you need to do here, log,
'msgbox etc.
Finally
cat = Nothing
End Try
Return bAns
End Function
'DEMO
' If CreateAccessDatabase("F:\test.mdb") = True Then
' MsgBox("Database Created")
' Else
' MsgBox("Database Creation Failed")
' End If
或以简单的方式..
My.Computer.FileSystem.CopyFile(d & "Template.MDB", textbox1.text & _ ".MDB",FileIO.UIOption.AllDialogs, FileIO.UICancelOption.DoNothing)
不要伪造目标路径..
要创建一个新的空 Access 数据库,您需要做的就是添加一个 COM 引用到
“用于 DDL 和安全性的 Microsoft ADO 扩展 2.8”
到您的项目,然后使用如下代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace adoxTest
{
class Program
{
static void Main(string[] args)
{
string myConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data source=C:\__tmp\myDB.accdb;";
// the following code requires a COM reference to "Microsoft ADO Ext. 2.8 for DDL and Security"
var cat = new ADOX.Catalog();
cat.Create(myConnectionString); // create a new, empty .accdb file
Console.WriteLine("Done.");
}
}
}
如果你想去“老派”并.mdb
使用 Jet 创建一个文件,那么只需使用以下连接字符串......
string myConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\__tmp\myDB.mdb;";
...但请注意,如果您的应用程序以 64 位运行(因为没有 Jet 数据库引擎的 64 位版本),这将失败。