一、需求
- 读取Access数据库数据
- 将数据转换并导出CSV文件
二、功能
- 打开软件,单击“打开数据库文件”按钮
- 选择“ink.accdb"文件
- 单击“打开”按钮
- 数据库文件的同目录下面出现csv文件
- 打开csv文件
- 对照Access数据库
三、源码
3.1 打开文件
// 打开文件
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "accdb(*.accdb)|*.accdb";
openFileDialog.ValidateNames = true;
openFileDialog.CheckPathExists = true;
openFileDialog.CheckFileExists = true;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
Console.WriteLine(openFileDialog.FileName);
}
3.2 连接数据库
string connect_cmd = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + openFileDialog.FileName;
// 如果有密码
connect_cmd += ";Jet OLEDB:Database Password=xxx;";
using (OleDbConnection conn = new OleDbConnection(connect_cmd))
{
}
3.3 查询数据库
string query = "SELECT * FROM ink";
using (OleDbCommand cmd = new OleDbCommand(query, conn))
{
conn.Open();
using (OleDbDataReader reader = cmd.ExecuteReader())
{
string output = "";
while (reader.Read())
{
int id = (int)reader["ID"];
string group = (string)reader["group"];
string info = (string)reader["info"];
string brand = (string)reader["brand"];
string model = (string)reader["model"];
string notes = (string)reader["notes"];
DateTime create_time = (DateTime)reader["create_time"];
output += group + "\t\t\t" + info + "\t\t\t" + brand + "\t\t\t" + model + "\t\t\t" + notes + "\t\t\t" + create_time.ToString("yyyy-MM-dd HH-mm-ss")+"\r\n";
}
}
}
3.4 导出文件
File.WriteAllText(openFileDialog.FileName+".csv", output);
四、下载
- 网盘下载:关注【小康师兄】微信公众号,并回复【读取Access数据库数据并导出CSV文件】即可获取网盘链接。
若觉得文章对你有帮助,随手『点赞』、『收藏』、『关注』,也是对我的支持。