![](/img/trans.png)
[英]How to check if a file exists on a server using c# and the WebClient class
[英]How to check if a table within a .sqlite file exists using C#
我正在创建一个 WPF 程序,用户可以在其中创建存储在 .sqlite 数据库中的产品列表。 每个产品列表在数据库中有自己的表,名称由用户选择。 当我尝试创建它们时,我需要弄清楚该表是否已经存在,以便如果存在,我可以要求用户选择不同的名称。
我知道
SELECT name FROM sqlite_master WHERE type='table' AND name='{table_name}';
是用于检查表是否存在的查询,但如何使用 c# 以布尔形式获取此语句?
我会假设类似于
SQLiteConnection connection = new SQLiteConnection("Data Source=filepath;Version=3");
sql = "SELECT name FROM sqlite_master WHERE type='table' AND name='{table_name}';"
SQLiteCommand command = new SQLiteCommand(sql, connection);
command.something();
但我不确定使用什么command
函数来获取此查询的布尔值以及如何对其进行格式化。
ExecuteNonQuery()
为 SELECT 语句返回 -1,因此在这种情况下使用它是不合适的。
尝试使用ExecuteReader()
,它返回一个包含HasRows
属性的SqliteDataReader类,在非空结果集的情况下应该为真。
编码:
SQLiteConnection connection = new SQLiteConnection("Data Source=filepath;Version=3");
sql = "SELECT name FROM sqlite_master WHERE type='table' AND name='{table_name}';"
SQLiteCommand command = new SQLiteCommand(sql, connection);
try
{
var result = command.ExecuteReader();
if (result.HasRows)
{
// INSERT statement here
}
}
catch (Exception e)
{
throw e;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.