作者:世妖娆灬 | 来源:互联网 | 2023-05-24 16:59
我创建了以下方法,可在已存在的SQLite表中添加一列
public async void AddColumnMyNewColumn()
{
SQLiteAsyncConnection cOnn= new SQLiteAsyncConnection(path);
await conn.ExecuteAsync("ALTER TABLE MyTable ADD COLUMN MyNewColumn bit DEFAULT 'False';");
}
它在MyTable中创建一个新列MyNewColumn。
下次调用AddColumnMyNewColumn方法时,它将引发错误。
如何检查此列是否已创建?
我已经检查过这个和这个了,但是我不能将这些东西放在一起得到这样的东西。
public async void AddColumnMyNewColumn()
{
SQLiteAsyncConnection cOnn= new SQLiteAsyncConnection(path);
bool columnExists;
//Check if column exists & set columnExists accordingly
if(!columnExists)
await conn.ExecuteAsync("ALTER TABLE MyTable ADD COLUMN MyNewColumn bit DEFAULT 'False';");
}
CodeNoob..
5
解决方案1.使用SQLite.Net
您正在使用SQLite.Net,因此您的表已映射到C#类,对吗?
如果您将属性添加到C#类中,则只需调用此
SQLiteAsyncConnection cOnn= new SQLiteAsyncConnection(path);
await conn.CreateTableAsync();
并且您的新属性将作为列添加到您的表格中,以前的所有数据都不会更改
解决方案2.使用查询
(以列出表的所有列),然后您可以手动添加列)
SQLite模式信息元数据
1> CodeNoob..:
解决方案1.使用SQLite.Net
您正在使用SQLite.Net,因此您的表已映射到C#类,对吗?
如果您将属性添加到C#类中,则只需调用此
SQLiteAsyncConnection cOnn= new SQLiteAsyncConnection(path);
await conn.CreateTableAsync();
并且您的新属性将作为列添加到您的表格中,以前的所有数据都不会更改
解决方案2.使用查询
(以列出表的所有列),然后您可以手动添加列)
SQLite模式信息元数据