繁体   English   中英

oledb命令executeNonQuery在错误的路径下运行

[英]oledb command executeNonQuery is running against wrong path

我在WPF应用程序中有以下代码:

TargetCon.Open();

foreach (var table in accessTables)
{
    var tableConfig = _centralConfig.DataTablesForExport.Where(x => x.Name.ToLower() == table).Single();

    _serilog.WriteString("Going to add index for table: " + tableConfig.Name);

    foreach (var index in tableConfig.IndexColumns)
    {
        var command = new OleDbCommand($"CREATE INDEX idx{index.ColumnName} ON {tableConfig.Name}({index.ColumnName})", TargetCon);
        command.ExecuteNonQuery();
    }
}

在调试command.ExecuteNoneQuery()步执行代码时,在行command.ExecuteNoneQuery()上引发了一个异常,即它无法在项目的\\in\\debug文件夹中找到文件。 我不知道为什么要在该文件夹中查找。 如果检查公共属性TargetCon ,则会看到该对象的DataSource属性正确设置为路径c:\\databases\\u2.mdb

谁能解释为什么会这样吗?

sql语句试图在不存在的表名上创建索引。 不是一个非常有用的错误消息-这导致我冒险走错误的道路来解决。

修复sql语句后,问题已解决

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM