sqlite3中如何判断某个列是否存在

sqlite3中怎么判断某个列是否存在
因为表已经有了,后来升级需要新增一些列
采用了语句:ALTER TABLE Data ADD COLUMN test

但是重复的新增会报错,怎么在新增前先检查这个列是否存在呢?
这里不考虑使用异常的办法

------解决方案--------------------
希望对你有帮助,

如果是Oracle数据库,用下面的SQL判断:
SELECT * FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'MY_TABLE' AND COLUMN_NAME = 'ENABLED'

如果数据库是Access就用下面的函数:

function FieldExists(AccessFullName: string;
  ATable: string;
  FieldName: string
  ): Boolean;
var
  FieldList: TStringList;
  AccessCont: TADOConnection;
  i: Integer;
begin
  Result := False;
  AccessCont := TADOConnection.Create(nil);
  FieldList := TStringList.Create;
  try
    AccessCont.CommandTimeout := 0;
    AccessCont.Provider := 'Microsoft.Jet.OLEDB.4.0';
    AccessCont.LoginPrompt := False;
    AccessCont.ConnectionString :=
      'Provider=Microsoft.Jet.OLEDB.4.0;Password="";'
      + 'Persist Security Info=True;Data Source=' + AccessFullName;

    AccessCont.Open;
    AccessCont.GetFieldNames(ATable, FieldList);
    //Result := FieldList.IndexOfName(ATableFieldName) <> -1;
    for i := 0 to FieldList.Count - 1 do
      if FieldList[i] = FieldName then
      begin
        Result := True;
        Break;
      end;
    AccessCont.Close;
  finally
    AccessCont.Free;
    FieldList.Free;
  end;
end;

------解决方案--------------------
引用:
引用:不考虑使用异常的办法。。。。

有没有列出字段的函数?
没有吧。。。


打开表,应该能得到所有列的信息了。。。