begin process at 2010 09 04 22:41:40
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

PPC :: WCE 4.0 :: Bases de données

 > SQLCE CRÉER UNE BASE SANS SQL SERVER

SQLCE CRÉER UNE BASE SANS SQL SERVER


 Description

Voici comment créer une base SQLCe sur un Pocket PC sans SQL Server. On réalise cette base et on la remplie à partir d'un fichier texte

Source

  • Imports System.IO
  • Imports System.Data
  • Imports System.Data.SqlServerCe
  • Imports System.Text
  • Public CheminCourant As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase)
  • Public Const ListeSeparation As String = ","
  • Public Const FichierSQL = "\MaBase.sdf"
  • Public Const FicGare = "\listeScores.txt"
  • #Region "Maintenance Base SQL ExistanTe(ou pas)"
  • Public Function CréateDB()
  • 'Cette procédure permet de vérifier l'existence de la base SDF
  • 'Si elle n'existe pas on la crée
  • If Not File.Exists(CheminCourant & FichierSQL) Then
  • VerifieDB = False
  • MsgBox("tentative de reconstruire les bases de données")
  • 'On refabrique la base
  • If CreateBase() = True Then
  • MsgBox("Création de la Base")
  • Else
  • MsgBox("Impossible de créer la BD")
  • Exit Function
  • End If
  • ChargeBaseScore()
  • VerifieDB = True
  • Else
  • VerifieDB = True
  • End If
  • End Function
  • Public Function CreateBase() As Boolean
  • CreateBase = False
  • Dim cu_sql As String
  • Dim MySqlCeEngine As New SqlCeEngine("Data Source=" & CheminCourant & FichierSQL)
  • MySqlCeEngine.CreateDatabase()
  • MySqlCeEngine.Dispose()
  • Dim maconnexion As SqlCeConnection = Nothing
  • Try
  • maconnexion = New SqlCeConnection(("Data Source=" & CheminCourant & FichierSQL))
  • maconnexion.Open()
  • Dim mycmd As SqlCeCommand
  • mycmd = maconnexion.CreateCommand
  • 'Ici implémenter la lecture d'un fichier SQL.
  • 'Base Score
  • cu_sql = "CREATE TABLE Score(Nom ntext,Prenom ntext, Score int)"
  • MsgBox(cu_sql)
  • mycmd.CommandText = cu_sql
  • mycmd.ExecuteNonQuery()
  • MsgBox("Creation base Score: Succès")
  • maconnexion.Close()
  • CreateBase = True
  • Catch ex As Exception
  • MsgBox(ex.Message, MsgBoxStyle.Exclamation)
  • End Try
  • End Function
  • Public Sub ChargeBaseScore()
  • MsgBox(" debut chargement gares")
  • Cursor.Current = Cursors.WaitCursor
  • Dim Req_sql As String
  • Dim sr As StreamReader = New StreamReader(CheminCourant & FicGare)
  • Dim StrInput As String
  • Dim StrData() As String
  • Dim maconnexion As SqlCeConnection = Nothing
  • Try
  • maconnexion = New SqlCeConnection(("Data Source=" & CheminCourant & FichierSQL))
  • maconnexion.Open()
  • Dim mycmd As SqlCeCommand
  • mycmd = maconnexion.CreateCommand
  • Do
  • StrInput = sr.ReadLine
  • If StrInput Is Nothing Then GoTo suite
  • StrData = StrInput.Split(ListeSeparation)
  • StrData(0) = Replace(StrData(0), "'", "''")
  • Req_sql = "INSERT INTO Gare(Nom, Prenom, Score ) VALUES ('" & StrData(0) & "','" & StrData(1) & "'," & StrData(2) & ");"
  • mycmd.CommandText = Req_sql
  • mycmd.ExecuteNonQuery()
  • Loop Until StrInput Is Nothing
  • suite:
  • MsgBox("Fin de Chargement Score")
  • sr.Close()
  • maconnexion.Dispose()
  • maconnexion.Close()
  • Catch ex As Exception
  • ShowErrors(ex)
  • sr.Close()
  • maconnexion.Dispose()
  • maconnexion.Close()
  • 'MsgBox(ex.Message, MsgBoxStyle.Exclamation)
  • End Try
  • Cursor.Current = Cursors.Default
  • End Sub
  • Public Sub ShowErrors(ByVal e As SqlCeException)
  • Dim errorCollection As SqlCeErrorCollection = e.Errors
  • Dim bld As New StringBuilder
  • Dim inner As Exception = e.InnerException
  • If Not inner Is Nothing Then
  • MessageBox.Show(("Inner Exception: " & inner.ToString()))
  • End If
  • Dim err As SqlCeError
  • ' Enumerate each error to a message box.
  • For Each err In errorCollection
  • bld.Append((ControlChars.Cr & " Error Code: " & err.HResult.ToString("X")))
  • bld.Append((ControlChars.Cr & " Message : " & err.Message))
  • bld.Append((ControlChars.Cr & " Minor Err.: " & err.NativeError))
  • bld.Append((ControlChars.Cr & " Source : " & err.Source))
  • ' Retrieve the error parameter numbers for each error.
  • Dim numPar As Integer
  • For Each numPar In err.NumericErrorParameters
  • If 0 <> numPar Then
  • bld.Append((ControlChars.Cr & " Num. Par. : " & numPar))
  • End If
  • Next numPar
  • ' Retrieve the error parameters for each error.
  • Dim errPar As String
  • For Each errPar In err.ErrorParameters
  • If [String].Empty <> errPar Then
  • bld.Append((ControlChars.Cr & " Err. Par. : " & errPar))
  • End If
  • Next errPar
  • MessageBox.Show(bld.ToString())
  • bld.Remove(0, bld.Length)
  • Next err
  • End Sub
  • #End Region
Imports System.IO
Imports System.Data
Imports System.Data.SqlServerCe
Imports System.Text
    Public CheminCourant As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase)
    Public Const ListeSeparation As String = ","
    Public Const FichierSQL = "\MaBase.sdf"
    Public Const FicGare = "\listeScores.txt"
#Region "Maintenance Base SQL ExistanTe(ou pas)"
    Public Function CréateDB()
        'Cette procédure permet de vérifier l'existence de la base SDF
        'Si elle n'existe pas on la crée
        If Not File.Exists(CheminCourant & FichierSQL) Then
            VerifieDB = False
            MsgBox("tentative de reconstruire les bases de données")
            'On refabrique la base
            If CreateBase() = True Then
                MsgBox("Création de la Base")
            Else
                MsgBox("Impossible de créer la BD")
                Exit Function
            End If
            ChargeBaseScore()
            VerifieDB = True
        Else
            VerifieDB = True
        End If
    End Function
    Public Function CreateBase() As Boolean
        CreateBase = False
        Dim cu_sql As String
        Dim MySqlCeEngine As New SqlCeEngine("Data Source=" & CheminCourant & FichierSQL)
        MySqlCeEngine.CreateDatabase()
        MySqlCeEngine.Dispose()
        Dim maconnexion As SqlCeConnection = Nothing
        Try
            maconnexion = New SqlCeConnection(("Data Source=" & CheminCourant & FichierSQL))
            maconnexion.Open()
            Dim mycmd As SqlCeCommand
            mycmd = maconnexion.CreateCommand
            'Ici implémenter la lecture d'un fichier SQL.
            'Base Score
            cu_sql = "CREATE TABLE Score(Nom ntext,Prenom ntext, Score int)"
            MsgBox(cu_sql)
            mycmd.CommandText = cu_sql
            mycmd.ExecuteNonQuery()
            MsgBox("Creation base Score: Succès")
            maconnexion.Close()
            CreateBase = True
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation)
        End Try
    End Function
    Public Sub ChargeBaseScore()
        MsgBox(" debut chargement gares")
        Cursor.Current = Cursors.WaitCursor
        Dim Req_sql As String
        Dim sr As StreamReader = New StreamReader(CheminCourant & FicGare)
        Dim StrInput As String
        Dim StrData() As String
        Dim maconnexion As SqlCeConnection = Nothing
        Try
            maconnexion = New SqlCeConnection(("Data Source=" & CheminCourant & FichierSQL))
            maconnexion.Open()
            Dim mycmd As SqlCeCommand
            mycmd = maconnexion.CreateCommand
            Do
                StrInput = sr.ReadLine
                If StrInput Is Nothing Then GoTo suite
                StrData = StrInput.Split(ListeSeparation)
                StrData(0) = Replace(StrData(0), "'", "''")
                Req_sql = "INSERT INTO Gare(Nom, Prenom, Score ) VALUES ('" & StrData(0) & "','" & StrData(1) & "'," & StrData(2) & ");"
                mycmd.CommandText = Req_sql
                mycmd.ExecuteNonQuery()
            Loop Until StrInput Is Nothing
suite:
            MsgBox("Fin de Chargement Score")
            sr.Close()
            maconnexion.Dispose()
            maconnexion.Close()
        Catch ex As Exception
            ShowErrors(ex)
            sr.Close()
            maconnexion.Dispose()
            maconnexion.Close()
            'MsgBox(ex.Message, MsgBoxStyle.Exclamation)
        End Try
        Cursor.Current = Cursors.Default
    End Sub
    Public Sub ShowErrors(ByVal e As SqlCeException)
        Dim errorCollection As SqlCeErrorCollection = e.Errors

        Dim bld As New StringBuilder
        Dim inner As Exception = e.InnerException

        If Not inner Is Nothing Then
            MessageBox.Show(("Inner Exception: " & inner.ToString()))
        End If

        Dim err As SqlCeError

        ' Enumerate each error to a message box.
        For Each err In errorCollection
            bld.Append((ControlChars.Cr & " Error Code: " & err.HResult.ToString("X")))
            bld.Append((ControlChars.Cr & " Message   : " & err.Message))
            bld.Append((ControlChars.Cr & " Minor Err.: " & err.NativeError))
            bld.Append((ControlChars.Cr & " Source    : " & err.Source))

            ' Retrieve the error parameter numbers for each error.
            Dim numPar As Integer
            For Each numPar In err.NumericErrorParameters
                If 0 <> numPar Then
                    bld.Append((ControlChars.Cr & " Num. Par. : " & numPar))
                End If
            Next numPar

            ' Retrieve the error parameters for each error.
            Dim errPar As String
            For Each errPar In err.ErrorParameters
                If [String].Empty <> errPar Then
                    bld.Append((ControlChars.Cr & " Err. Par. : " & errPar))
                End If
            Next errPar

            MessageBox.Show(bld.ToString())
            bld.Remove(0, bld.Length)
        Next err
    End Sub
#End Region




 Sources du même auteur

Source .NET (Dotnet) SOFT RESET ET HARD RESET (VB.NET)
Source .NET (Dotnet) ROTATION ET MIROIR DE BITMAP
Source .NET (Dotnet) SHELL SUR POCKET PC OU COMMENT LANCER UNE APPLICATION PAR LE...
Source avec Zip Source .NET (Dotnet) VISUALISER UNE IMAGE PLEIN ÉCRAN AVEC DÉPLACEMENT
Source .NET (Dotnet) SQLCE EXTRAIRE LES DONNÉES D'UNE BASE AU FORMAT TEXTE

 Sources de la même categorie

Source avec Zip Source avec une capture LISTE DE COURSES par Nico52
Source .NET (Dotnet) SQLCE EXTRAIRE LES DONNÉES D'UNE BASE AU FORMAT TEXTE par Stephane33

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture UTILISER LES FICHIERS TXT par RV57000

Commentaires et avis

Commentaire de ricco56 le 17/03/2007 11:43:13

Salut

Ton prog m'intéresse mais je ne sais pas comment installer celui-ci sur mon pDA
j'ai un ipaq avec WinCe5.0
je n'ai pas DotNet
J'ai une base Access sur mon PC que je voudrais avoir sur mon PDA ; je n'ai pas Access sur le PDA

merci de ton aide

Commentaire de trizacl le 28/10/2007 01:41:04

Bonjour,
Merci pour ce code très utile quand on implémente pour la première fois une base SQLCe.
A+

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Base de sonnée SQLCe avec VB.NET [ par antoineraymond ] Bonjour. J'aimerais avoir un exemple d'utilisation de SQLCe avec VB.NET. Comment cr&#233;er la base de donn&#233;, comment l'utilis&#233; et comment l Créer un enregistrement dans une base de donnée Dataset sur PDA [ par Rlooping ] Comment Faire pour ajouter un enregistrement dans une base de donn&#233;e Dataset ???? JAVA PPC BD [ par thiodene ] Salut,je travaille actuellement sur un projet de d&#233;veloppement d'appli java sous ppc.Mon appli a pour but de faciliter la prise de d&#233;cision Connection base de données access/java [ par cornik ] Bonjour a tous voila je dois developper une apllication pour pocket pc dans laquelle je doit faire 2 ou 3 requetes.J'ai commencer &#224; d&#233;velopp Installation d'un appli [ par edokt ] Salut Comment peut on cr&#233;er un exe d'installation d'une application pocketpc. J'ai cr&#233;er une appli il faut que je l'install sur qq PPC. Je Base de donnée .cdb [ par btkmine ] Bonjourje viens de developper une petite application sur le Pocket Pc avec Vb.net et j'arrive a me connecter a la base de donn&#233;es .cdb et j'arriv problème base de données [ par pradoxil ] salut tou le monde !j'ai besoin de vous aider mes amis je vient de developper sur embedded visual basic  et  j'ai un  probleme sur la  base de donn Pocket pc + Connexion à une base de données [ par emmanuel9 ] Bonjour à tous, Je dois réaliser en c# une application smart device pocket pc 2003 et j'aurais besoin de me connecter à partir du pda sur une base de Base Donnees sur PDA [ par ammar11 ] salut, je voulais vous demander si quelqu'un connait des serveurs de bases de données gratuits autres que SQL CE et SQL server Mobile pour être utilis base de registre WinCE [ par neophenix83 ] Bonjour à tous,Je voudrais creer un composant, à l'aide de la mathode (visual C++) cocreateinstance....Donc, j'ai le CLSID et l'IID de mon composant,


Nos sponsors


Sondage...

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales