引入命名空间
using System.Data.OleDb;
using System.IO;
using ADOX;
动态创建数据库
String filePath = "C:\\Users\\18144\\OneDrive\\文档\\Access\\test2.accdb";
if (!File.Exists(filePath))
{
ADOX.Catalog catalog = new ADOX.Catalog();
catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source = C:\\Users\\18144\\OneDrive\\文档\\Access\\test2.accdb;Jet OLEDB:Database Password = 123456");
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(catalog.ActiveConnection);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(catalog);
return;
}
else
{
MessageBox.Show("数据库文件已存在");
}
创建数据表
string DataLinkString = "Provider = Microsoft.Jet.OLEDB.4.0;";
DataLinkString += @"Data Source = C:\Users\18144\OneDrive\文档\Access\test2.accdb;";
DataLinkString += @"Jet OLEDB:Database Password = 123456";
OleDbConnection AD = new OleDbConnection(DataLinkString);
AD.Open();
OleDbCommand sql_cmd1 = new OleDbCommand("drop table Info", AD);
sql_cmd1.ExecuteNonQuery();
sql_cmd1.Dispose();
OleDbCommand sql_cmd2 = new OleDbCommand("create table Info (id char(15) primary key, name char(50))", AD);
sql_cmd2.ExecuteNonQuery();
sql_cmd2.Dispose();
AD.Close();
AD.Dispose();
执行sql命令
private void RunSQL(string sql_cmd)
{
try
{
string DataLinkString = "Provider = Microsoft.Jet.OLEDB.4.0;";
DataLinkString += @"Data Source = C:\Users\18144\OneDrive\文档\Access\test2.accdb;";
DataLinkString += @"Jet OLEDB:Database Password = 123456";
OleDbConnection conn = new OleDbConnection(DataLinkString);
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql_cmd, conn);
cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Close();
conn.Dispose();
}
catch (Exception e)
{
MessageBox.Show(e.ToString(), "提示");
}
}
增加
string insert = "insert into student values(" + id + ", '" + name + "', " + age + ");";
RunSQL(insert);
删除
string delete = "delete from student where id = " + id;
RunSQL(delete);
修改
string update = "update student set Name = '" + name + "', Age = " + age + " where Id = " + id;
RunSQL(update);
查询
if (odc.State == ConnectionState.Closed) {
conn.Open();
}
string select = "select * from student where Age = " + age;
OleDbDataAdapter dbDataAdapter = new OleDbDataAdapter(select, cmd);
DataTable dataTable = new DataTable();
dbDataAdapter.Fill(dataTable);
foreach (DataRow dr in dataTable.Rows) {
Console.WriteLine("id = {0} name = {1} age = {2}", dr[0], dr[1], dr[2]);
}