gpt4 book ai didi

C# 异常 : One Line SQL to determine table exists

转载 作者:行者123 更新时间:2023-11-30 22:37:46 24 4
gpt4 key购买 nike

遵循 SO Question #167576 中提出的指南,我在我的 C# WinForm 应用程序 中构建了以下 SQL 查询字符串,以确定表 RMCoil 是否存在:

using (SqlCeCommand cmd = new SqlCeCommand(null, new SqlCeConnection(Connection))) {
cmd.Connection.Open();
cmd.CommandText =
"IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='RMCoil') " +
"SELECT 1 ELSE SELECT 0";
if (cmd.ExecuteNonQuery() < 1) {
// code to create table
}
}

执行非查询抛出此 SqlCeException:

There was an error parsing the query. [ Token line number = 1,Token line offset = 1,Token in error = IF ]

我是 SqlCeServer 的新手。有人可以启发我如何在一行中执行此查询吗?

最佳答案

SELECT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='RMCoil') 可以解决问题吗?
您还必须执行 ExecuteScalar() 而不是 ExecuteNonQuery() 我想检索您的值...

正如 Paul Sasik 非常明智地指出的那样,以下查询甚至更好:
SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='RMCoil'

关于C# 异常 : One Line SQL to determine table exists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6362794/

24 4 0