我需要在C#中的一个SQL表中搜索一个值(文件名)。如果它存在返回TRUE,并且如果不返回FALSE并继续我的代码基于此。在SQL中搜索结果表
这是我有什么,但它不工作:
SqlCommand cmdName = new SqlCommand("SELECT CASE WHEN EXISTS (SELECT * FROM [dbo].[Document] WHERE FileName = @NewFileName) THEN CAST (1 AS BIT) ELSE CAST (0 AS BIT))", con);
{
cmdName.Parameters.AddWithValue("@NewFileName", NewFileName);
cmdName.ExecuteNonQuery();
}
有什么建议?
整个代码是为了防止用户将文件重命名为表中已存在的文件。所以,如果有更好的方法来做到这一点,我会很感激的帮助。
如果你想得到适当的帮助,你应该定义“不工作”。没有结果?查询会引发异常? ... – Conduit 2014-09-30 17:36:51
请注明这是SQL Server或MySQL – Steve 2014-09-30 17:37:46
原始查询:WHEN EXISTS SELECT CASE( SELECT * FROM [DBO] [文件] 其中FileName = 'SomeFileName') 再投(1 AS BIT)ELSE CAST(0 AS BIT) 的作品。但是当我试图从C#执行它时,我无法实现它的工作。 – user3853986 2014-09-30 17:39:00