C# 中 SQLite 查询数据库表中字段(列)是否存在的方法
在C#中,使用SQLite查询数据库表以确定某个字段(列)是否存在,可以通过查询系统表sqlite_master
和PRAGMA table_info()
函数来实现。以下是一个示例方法,用于检查字段是否存在:
using System;
using System.Data.SQLite;
public bool CheckColumnExists(string connectionString, string tableName, string columnName)
{
bool columnExists = false;
using (var connection = new SQLiteConnection(connectionString))
{
connection.Open();
// 查询PRAGMA table_info()获取表的列信息
string query = $"PRAGMA table_info({tableName})";
using (var command = new SQLiteCommand(query, connection))
{
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
string name = reader.GetString(reader.GetOrdinal("name"));
if (name == columnName)
{
columnExists = true;
break;
}
}
}
}
}
return columnExists;
}
使用此方法时,需要传入数据库连接字符串、表名和要检查的列名。方法会返回一个布尔值,指示列是否存在。
评论已关闭