我在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()
行上,引发了一个异常,即它无法在项目的\in\debug
文件夹中找到文件。我不知道为什么要在该文件夹中查找。如果检查公共属性TargetCon
,则会发现该对象的DataSource
属性已正确设置为路径c:\databases\u2.mdb
。
任何人都可以解释为什么会这样吗?
答案 0 :(得分:0)
sql语句试图在不存在的表名上创建索引。这不是非常有用的错误消息-导致我冒险走错误的道路去解决。
一旦我修复了sql语句,问题就解决了