Добрый день,
У меня проблема с разделом кода, над которым я работаю, который проверяет, существует ли уже элемент данных с таким именем в базе данных.
Следующий код вызывает исключение IndexOutOfRangeException
static int checkExists(String checkIf)
{
String connectionString = "provider=Microsoft.Jet.OLEDB.4.0;data source=" + @"ffmpegDB.mdb";
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
OleDbCommand command = connection.CreateCommand();
try
{
command.CommandText = checkIf;
OleDbDataReader reader = command.ExecuteReader();
reader.Read();
try
{
result = (int)reader["Result"];
}
catch (InvalidOperationException ioe) { }
reader.Close();
connection.Close();
}
catch (FormatException Fe)
{}
return result;
}
.. в этой строке
result = (int)reader["Result"];
Функция выполняется следующим образом:
if (checkExists("SELECT COUNT(*) AS 'Result' FROM Files WHERE Filename ='"+fileNames[i]+"' AND File_Directory ='"+directories[i]+"'")==0)
{
}
и т.д ..
Может ли это быть проблемой с OleDB и как он обрабатывает операторы SQL?
Возможно, читатель буквально ищет рубрику «Результат»?
Я надеюсь, что предоставил достаточно информации.
Привет