Если вы хотите проверить, есть ли строка с каким-либо именем файла, вы также можете использовать ExecuteScalar с
ВЫБЕРИТЕ СЧЕТЧИК (*) ИЗ ИГРЫ, ГДЕ FileName = @ FileName
Конечно, вы также должны установить параметр для команды. Тогда вы можете сделать
int count = Convert.ToInt32(insertCommand.ExecuteScalar());
if (count == 0)
{
// code...
}
РЕДАКТИРОВАТЬ: все с параметрами будет выглядеть примерно так:
selectCommand.CommandText = "SELECT COUNT(*) FROM Import Where FileName = @FileName";
selectCommand.Parameters.Add("@FileName", SqlDbType.NVarChar); // Use appropriate db type here
insertCommand.CommandText = "INSERT INTO Import (FileName, ...) VALUES (@FileName, ...");
insertCommand.Parameters.Add("@FileName", SqlDbType.NVarChar);
// Add your other parameters here.
// ...
foreach (string file in files)
{
var fileName = Path.GetFileName(file);
selectCommand.Parameters[0].Value = Path.GetFileName(fileName);
int count = Convert.ToInt32(selectCommand.ExecuteScalar());
if (count == 0)
{
// File does not exist in db, add it.
insertCommand.Parameters[0].Value = fileName;
// Init your other parameters here.
// ...
insertCommand.ExecuteNonQuery(); // This executes the insert statement.
}
}