2016-08-13 12 views
0

sqliteバージョン3を使用しています。コンソールアプリケーションを使用して新しいテーブルを作成し、別のアプリケーション(mvc)を使用してそのテーブルにデータを設定しました。私は新しいテーブルを作成し、コードの最初のビットのコメントを外し、新しい構造を追加して別のテーブルを作成することにしましたが、私の恐怖には、最初に作成されたテーブルが完全にデータと共に消えてしまいました。それが期待されているのか、私は何か間違っているのですか私は、最初のテーブルを作成するコードを保持する場合は、それからすべてのデータを削除します。新しいテーブルを作成するときにSqliteが自動的に古いテーブルを削除しました

static void Main(string[] args) 
    { 
     SQLiteConnection.CreateFile(@"C:\Users\DV\Documents\Visual Studio 2015\Projects\Study\Leo\Leo\App_Data\LeoDatabase.sqlite"); 
     using (SQLiteConnection connection = new SQLiteConnection(@"Data Source=C:\Users\DV\Documents\Visual Studio 2015\Projects\Study\Leo\Leo\App_Data\LeoDatabase.sqlite;Version=3")) 
     { 


      connection.Open(); 
      //string sql = "create table tblPersonalDetails (ID INTEGER PRIMARY KEY AUTOINCREMENT, FirstName varchar(100), LastName varchar(100), DateofBirth datetime, Title varchar(10), Address varchar(200), Suburb varchar(200), HomePhone varchar(20), Mobile varchar(20), Email varchar(100), EmergencyName varchar(100), EmergencyPhone varchar(20), EmergencyRelation varchar(100), EmergencyEmail varchar(100), DrivingLicenceNo varchar(50), DrivingLicenceExpiryDate datetime, ScannedImageLocation varchar(300))"; 
      //SQLiteCommand command= new SQLiteCommand(sql, connection); 
      //command.ExecuteNonQuery(); 

      string sql = "create table tblAppointment(ID INTEGER PRIMARY KEY AUTOINCREMENT, InstructorName varchar(100), LessonDate date, LessonTime time, Address varchar(300), UserId INTEGER)"; 
      SQLiteCommand command = new SQLiteCommand(sql, connection); 
      command.ExecuteNonQuery(); 



     } 

答えて

1

毎回SQLiteConnection.CreateFileを使用しています。 2番目のテーブルの作成にコメントするか、(!File.Exists(pathToDatabase))

+0

のようなチェックをsqliteのマニュアルに追加してください。ファイルがすでに存在する場合、これは無視されますか? http://stackoverflow.com/questions/24178930/programmatically-create-sqlite-db-if-it-doesnt-exist – Baahubali

+0

もしあればリンクを共有してください。私の知る限り古いファイルを上書きします。テスト目的のために試すことができます。 – Ramit

+0

その内の私のコメント – Baahubali

関連する問題