SQLite でテーブル/列を動的に作成するために使用できるクラスを開発しようとしています。次のようにクラスを作成しました。
public class NewColumns
{
public string ClmName;
public Types NewType { get; set; }
public void SetName(string NewColumn)
{
ClmName = NewColumn;
}
}
public enum Types
{
INTEGER = 0,
REAL = 1,
NUMERIC = 2,
TEXT = 3,
BLOB = 4,
}
public static bool CreateTable(string DBPath, string TableName, params NewColumns ClumnName)
{
bool succ = false;
mDBcon.ConnectionString = "Data Source=" + DBPath + ".db3";
mDBcon.Open();
cmd = new SQLiteCommand(mDBcon);
cmd.CommandText = "CREATE TABLE IF NOT EXISTS " + TableName + " (ISBN VARCHAR(15), Tag VARCHAR(15));";
cmd.ExecuteNonQuery();
return succ;
}
次のように、新しい値をクラスに渡したいと思います。
clsSqlite.CreateTable("test", "newTable", new clsSqlite.NewColumns { ClmName = "", NewType.INTEGER });
しかし、上記のコードの「NewType」は列挙値を認識せず、列挙値「INTEGER」を手動で入力すると次のエラーが発生します。
初期化子メンバー宣言が無効です
助けてくれてありがとう。
よろしく、