You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

程序读取路径异常:指定桌面路径却访问程序文件夹问题排查

问题分析与解决

核心问题

你代码里的filePath变量没有正确获取到PATHTEXTBOX.Text的值,导致连接字符串里的数据源路径不是你选择的桌面路径,而是程序默认的工作目录(安装目录)。你已经用MessageBox.Show(PATHTEXTBOX.Text)确认输入框里的路径是正确的,但未将该值赋值给filePath。

修正后的代码

MessageBox.Show(PATHTEXTBOX.Text);
// 将输入框的路径赋值给filePath
string filePath = PATHTEXTBOX.Text;
string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath;
string query = "select * from Vendors";
OleDbConnection connect = new OleDbConnection(connString);
OleDbCommand command = new OleDbCommand(query, connect);
connect.Open();
OleDbDataReader reader = command.ExecuteReader();
DataTable dataTable = new DataTable();
dataTable.Load(reader);
dataGridView1.DataSource = dataTable.DefaultView;
connect.Close();

额外优化建议

建议使用using语句自动释放数据库连接资源,避免手动关闭可能遗漏的情况:

MessageBox.Show(PATHTEXTBOX.Text);
string filePath = PATHTEXTBOX.Text;
string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath;
string query = "select * from Vendors";

using (OleDbConnection connect = new OleDbConnection(connString))
{
    OleDbCommand command = new OleDbCommand(query, connect);
    connect.Open();
    using (OleDbDataReader reader = command.ExecuteReader())
    {
        DataTable dataTable = new DataTable();
        dataTable.Load(reader);
        dataGridView1.DataSource = dataTable.DefaultView;
    }
}

内容的提问来源于stack exchange,提问作者Big72Red

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 14:36:26