IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Accès aux données Discussion :

[debutant] Création table base de données sqlce


Sujet :

Accès aux données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de Projet

    Informations forums :
    Inscription : Décembre 2004
    Messages : 166
    Par défaut [debutant] Création table base de données sqlce
    Bonjour,

    J'ai créé une fonction me permettant de créé une base de données puis créé les tables de cette dernière.

    Je me suis inspiré de recherches effectuées sur internet c'est à dire créer un fichier sdf puis établir la connection et enfin créer les tables.

    Mon problème est le suivant : mon code s'exécute très bien mais quand je vais sur mon émulateur Pocket PC vérifier si ma base de données à correctement été créé. Je me rend compte que la base existe mais pas la table.

    Pouvez vous m'aider svp?

    Voici mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    String createSQL;   // variable contenant les requetes SQL pour créer les tables
                    String MyConnectionString = "Data Source=" + placeDatabase + " persist security info=false;";
                    SqlCeEngine MySqlCeEngine = new SqlCeEngine(MyConnectionString);
                    SqlCeConnection MySqlCeConnection = new SqlCeConnection(MyConnectionString);
     
                    try
                    {
                        MySqlCeEngine.CreateDatabase();
                        MySqlCeEngine.Dispose();
     
                        MySqlCeConnection.Open();
     
                        SqlCeCommand MySqlCeCommand;
     
                        MySqlCeCommand = MySqlCeConnection.CreateCommand();
                        MySqlCeCommand.CommandType = System.Data.CommandType.Text;
     
                        #region Create table : Identification
                            createSQL = "CREATE TABLE [dbo].[Identification](";
    	                    createSQL += "[FLAG] [smallint] NULL,";
    	                    createSQL += "[ID] [int] NOT NULL DEFAULT ((2147483647)),";
    	                    createSQL += "[nom] [varchar](50) COLLATE French_CI_AS NULL,";
    	                    createSQL += "[password] [varchar](16) COLLATE French_CI_AS NULL,";
    	                    createSQL += "[droits] [smallint] NULL,";
    	                    createSQL += "[afficher] [smallint] NULL DEFAULT ((1)),";
    	                    createSQL += "[email] [varchar](100) COLLATE French_CI_AS NULL,";
    	                    createSQL += "[telephone] [varchar](16) COLLATE French_CI_AS NULL,";
    	                    createSQL += "[vehiculeID] [int] NULL,";
    	                    createSQL += "[doitSynchroniser] [smallint] NULL,";
                            createSQL += ") ON [PRIMARY]";
                            createSQL += "CONSTRAINT [pk_Identification] PRIMARY KEY CLUSTERED ";
                            createSQL += "(";
    	                    createSQL += "[ID] ASC";
                            createSQL += ")WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]";
                            createSQL += ") ON [PRIMARY]";
                        #endregion
     
                            MessageBox.Show(createSQL);
     
                        MySqlCeCommand.CommandText = createSQL;
                        MySqlCeCommand.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        Form Except = new formExcetption(ex.Message);
                        Except.Show();
                    }
                    finally
                    {
                        if (MySqlCeConnection == null)
                            MySqlCeConnection.Close();
                    }

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 564
    Par défaut
    SQL Server CE ou Compact Edition ne prend pas en charge le type de données VARCHAR mais NVARCHAR.

  3. #3
    Membre confirmé
    Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de Projet

    Informations forums :
    Inscription : Décembre 2004
    Messages : 166
    Par défaut
    Effectivement SqlCe n'accepte que des types restreint.

    J'ai corrigé ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    createSQL = "CREATE TABLE Identification(";
    	                    createSQL += "FLAG smallint,";
    	                    createSQL += "ID int NOT NULL,";
    	                    createSQL += "Nom varchar(50),";
    	                    createSQL += "Password varchar(16),";
    	                    createSQL += "Droits smallint,";
    	                    createSQL += "Afficher smallint,";
    	                    createSQL += "Email varchar(100),";
    	                    createSQL += "Telephone varchar(16),";
    	                    createSQL += "VehiculeID int,";
    	                    createSQL += "DoitSynchroniser smallint)";
    Si d'autres utilisateurs rencontrent ce problèmen ils pourront avoir plus de renseignement http://msdn.microsoft.com/fr-fr/libr...1(SQL.90).aspx

Discussions similaires

  1. Urgent création de base de donnée slq serveur 2000 sp3
    Par angeld dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 08/02/2006, 09h58
  2. [debutant] création de base de donnée pour un forum
    Par Pierrick584 dans le forum Débuter
    Réponses: 1
    Dernier message: 01/01/2006, 11h38
  3. programme Delphi permettant la création de base de donnée
    Par lassad dans le forum Bases de données
    Réponses: 2
    Dernier message: 18/10/2005, 14h06
  4. Réponses: 1
    Dernier message: 17/06/2004, 17h44
  5. Réponses: 3
    Dernier message: 24/10/2003, 21h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo