2015-04-08 2 views
0

Je crée l'application console AC# et en utilisant sqlite comme mon db, et j'ai deux scripts le premier script (DBCreationScript.sql) contient le schéma de base de données (tables à créer) et le deuxième script (DefaultData.sql) remplit les tables de base de données avec les données par défaut. Existe-t-il un moyen ou un code spécifique que je pourrais utiliser pour charger/importer/exécuter les deux scripts dans mon application console.Importer un script sqlite pour créer une base de données en C# et t

Mon but est de: 1. Créez la base de données sqlite (en chargeant le script) en utilisant le code de mon application de console. 2. Remplissez la base de données (en chargeant le deuxième script). 3. Puis interroger les données et afficher sur l'écran de la console

voir ci-dessous les deux scripts.

CREATE TABLE tbLocation 
 
(
 
    LocationCd \t \t \t varchar(3) \t PRIMARY KEY 
 
    ,LocationName \t \t varchar(50) 
 
    ,CountryCd \t \t \t varchar(2) \t REFERENCES tbCountry(CountryCd) 
 
    ,CountryName  varchar(25) 
 
    ,PassportRequired \t bit 
 
    ,SortOrder \t \t \t Integer 
 
); 
 

 
CREATE TABLE tbManage 
 
(
 
    ConfigParamCd \t \t varchar(25) \t PRIMARY KEY 
 
    ,ConfigParamDesc \t varchar(225) 
 
    ,ConfigParamTypeCd \t varchar(20) 
 
    ,Value \t \t \t \t varchar(2000) 
 
    ,[Status] \t \t \t bit 
 
); 
 

 
CREATE TABLE tbPerson 
 
(
 
    PersonNo \t \t \t \t \t varchar(10) \t PRIMARY KEY 
 
    ,FirstName \t \t \t varchar(25) 
 
    ,LastName \t \t \t varchar(25) 
 
    ,PinCode \t \t \t varchar(5) 
 
    ,FleetCd \t \t \t varchar(10) 
 
    ,[Status] \t \t \t bit 
 
);

.

INSERT INTO tbManage (ConfigParamCd,ConfigParamDesc,ConfigParamTypeCd,Value,Status) 
 
select 'AirlineCd' ConfigParamCd, 'The current airline code.' ConfigParamDesc, 'String' ConfigParamTypeCd, 'BA' Value, '1' Status UNION 
 
select 'CanCreateNewSector' ConfigParamCd, 'Does this airline allow crew members to create new sectors?' ConfigParamDesc, 'Boolean' ConfigParamTypeCd, '1' Value, '1' Status UNION 
 
select 'CanEditSeals' ConfigParamCd, 'Does this airline allow crew members to add, edit or delete seals?' ConfigParamDesc, 'Boolean' ConfigParamTypeCd, '1' Value, '1' Status UNION 
 
select 'CanSectorsReopen' ConfigParamCd, 'Does this airline allow crew members to reopen sectors?' ConfigParamDesc, 'Boolean' ConfigParamTypeCd, '1' Value, '1' Status UNION 
 
select 'DefaultCurrency' ConfigParamCd, 'The default currency code.' ConfigParamDesc, 'String' ConfigParamTypeCd, 'ZAR' Value, '1' Status UNION 
 
select 'DefaultCurrencySymbol' ConfigParamCd, 'The default currency symbol.' ConfigParamDesc, 'String' ConfigParamTypeCd, 'R' Value, '1' Status UNION 
 
select 'EmergencyNumber' ConfigParamCd, 'The emergency number of the airline.' ConfigParamDesc, 'String' ConfigParamTypeCd, '911' Value, '1' Status UNION

Répondre

0

Vous devez créer un script db composé de DDL et DML premier appel, SQLiteConnection.CreateFile (string databaseFileName) méthode. Indiquez IF NOT EXISTS dans l'instruction CREATE.

+0

Merci !!! J'ai utilisé SQLiteConnection.CreateFile (DBCreationpath) où le chemin représentait le chemin relatif de la base de données Sqlite. et ça a marché :) –