下午好OleDBDataReader,IndexOutOfRangeException(C#)與SQL COUNT函數
我遇到的代碼我工作的一個部分的問題進行檢查,以查看是否同名的DataItem中已經存在一個數據庫。
下面的代碼拋出了一個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;
}
..on此線
result = (int)reader["Result"];
該函數如下執行:
if (checkExists("SELECT COUNT(*) AS 'Result' FROM Files WHERE Filename ='"+fileNames[i]+"' AND File_Directory ='"+directories[i]+"'")==0)
{
}
等。
難道這是與OLEDB的問題以及如何處理SQL語句? 也許讀者正在從字面上尋找「結果」一欄?
我希望我已經提供了足夠的信息。
問候
完美地工作。謝謝 – Ric