C#动态创建及连接ACCESS数据库的详细步骤
连接ACCESS数据库的详细步骤
⼀、建⽴FORM窗体,加⼀个按钮控件,加⼀个DATAGRIDVIEW控件。
⼆、双击FORM,加⼊命名空间using System.Data.OleDb;
双击按钮,进⼊按钮代码,写如下代码
OleDbConnection strConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "员⼯信息.mdb" + ";Persist Security Info=False");
//建⽴数据库引擎连接,注意数据表(后缀为.db)应放在DEBUG⽂件下
OleDbDataAdapter myda = new OleDbDataAdapter("select * from 雇员 ,strConnection);
//建⽴适配器,通过SQL语句去搜索数据库
DataSet myds = new DataSet();
//建⽴数据集
myda.Fill(myds, "雇员");
//⽤FILL的⽅式将适配器已经连接好的数据表填充到数据集MYDS这张表
dataGridView1.DataSource = myds.Tables["联系⼈ID"];
//⽤显⽰控件来显⽰表
三、按F5运⾏后,点击BUTTON按钮,便会显⽰相应的SQL语句下的数据库⾥的表。
下⾯利⽤Command和reader对象在控制台应⽤程序下输出数据。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
namespace ConsoleApplication19
{
class Program
{
static void Main(string[] args)
{
OleDbConnection mycon =null;
OleDbDataReader myReader=null;
try
{
string strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db4.mdb;";
mycon = new OleDbConnection(strcon);
mycon.Open();
string sql = "select * from 雇员 ";
OleDbCommand mycom = new OleDbCommand(sql, mycon);
myReader = mycom.ExecuteReader();
while (myReader.Read())
{
Console.WriteLine(myReader.GetString(0)+" "+myReader.GetDouble(1)+" "+myReader.GetString(2)+" "+myReader.GetString(3)+" "+myReader.GetS }
}
finally
{
myReader.Close();
mycon.Close();
}
}
}
}
<span ><strong>动态创建代码:</strong></span>
//添加两个com组件引⽤
//Microsoft ADO Ext. 2.8 for DDL and Security
//Microsoft ActiveX Data Objects 2.8 Library
<p></p><p>using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ADOX;
using System.IO;</p><p>namespace WebRequestTest.Common
{
public static class AccessDbHelper
{
/// <summary>
/// 创建access数据库
/// </summary>
/
// <param name="filePath">数据库⽂件的全路径,如 D:\\NewDb.mdb</param>
public static bool CreateAccessDb(string filePath)
{
ADOX.Catalog catalog = new Catalog();
if (!File.Exists(filePath))
{
try
{
catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;DData Source=" + filePath + ";Jet OLEDB:Engine Type=5"); }
catch (System.Exception ex)
{
return false;
}
}
return true;
}</p><p> /// <summary>
/// 在access数据库中创建表
/// </summary>
/// <param name="filePath">数据库表⽂件全路径如D:\\NewDb.mdb 没有则创建 </param>
/// <param name="tableName">表名</param>
/// <param name="colums">ADOX.Column对象数组</param>
public static void CreateAccessTable(string filePath, string tableName, params ADOX.Column[] colums)
{
ADOX.Catalog catalog = new Catalog();
//数据库⽂件不存在则创建
if (!File.Exists(filePath))
{
try
{
catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Jet OLEDB:Engine Type=5");
}
catch (System.Exception ex)
{</p><p> }
}
ADODB.Connection cn = new ADODB.Connection();
cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath, null, null, -1);
catalog.ActiveConnection = cn;
ADOX.Table table = new ADOX.Table();
table.Name = tableName;
foreach (var column in colums)
{
table.Columns.Append(column);
}
// column.ParentCatalog = catalog;access数据库建表的完整步骤
/
/column.Properties["AutoIncrement"].Value = true; //设置⾃动增长
//table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); //定义主键
catalog.Tables.Append(table);
cn.Close();
}
//========================================================================================调⽤ //ADOX.Column[] columns = {
// new ADOX.Column(){Name="id",Type=DataTypeEnum.adInteger,DefinedSize=9},
// new ADOX.Column(){Name="col1",Type=DataTypeEnum.adWChar,DefinedSize=50},
// new ADOX.Column(){Name="col2",Type=DataTypeEnum.adLongVarChar,DefinedSize=50}
/
/ };
// AccessDbHelper.CreateAccessTable("d:\\111.mdb", "testTable", columns);
}
}
</p>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论