begin process at 2012 05 24 17:09:23
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

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

 > SQLCE EXTRAIRE LES DONNÉES D'UNE BASE AU FORMAT TEXTE

SQLCE EXTRAIRE LES DONNÉES D'UNE BASE AU FORMAT TEXTE


 Information sur la source

 Description

Ces quelques lignes permettent d'extraire les données d'une base de donnée
Le fichier Requete.txt doit-être dans le même répertoire que l'appli

Source

  • Imports System.IO
  • Imports System.Text
  • Imports System.Data.SqlServerCe
  • Module Data
  • #Region "Declarations"
  • Public CheminCourant As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase)
  • Public Const ListeSeparation = ";"
  • #End Region
  • 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
  • Public Sub LireRequete()
  • Dim Sr As New StreamReader(CheminCourant & "\Requete.txt")
  • Dim StrInput, NomFichier, Requete, NomBase, Nombre As String
  • Try
  • NomBase = StrInput
  • Requete = Sr.ReadLine
  • Nombre = Sr.ReadLine
  • NomFichier = Sr.ReadLine
  • MsgBox("Requete " & Requete & "(" & CStr(Nombre) & ") sur " & NomBase & " pour " & NomFichier)
  • ExtractData(NomBase, Nombre, Requete, NomFichier)
  • Sr.Close()
  • Catch ex As Exception
  • ShowErrors(ex)
  • End Try
  • End Sub
  • Public Sub ExtractData(ByVal NomBase As String, ByVal Nombre As String, ByVal Requete As String, ByVal NomFichier As String)
  • Dim maconnexion As SqlCeConnection = Nothing
  • Dim Detail() As String
  • Dim Sw As New StreamWriter(CheminCourant & NomFichier, True)
  • Dim I, Compteur, Etat As Integer
  • Dim Tampon As String
  • Detail = Nombre.Split(ListeSeparation)
  • I = 0
  • Try
  • maconnexion = New SqlCeConnection(("Data Source=" & CheminCourant & NomBase))
  • maconnexion.Open()
  • Dim mycmd As SqlCeCommand
  • Dim MonResultat As SqlCeDataReader
  • mycmd = maconnexion.CreateCommand
  • mycmd.CommandText = Requete
  • MonResultat = mycmd.ExecuteReader
  • While MonResultat.Read()
  • If Detail(1) = "str" Then Tampon = MonResultat.GetString(I)
  • If Detail(1) = "int" Then Tampon = CStr(MonResultat.GetInt16(I))
  • If CInt(Detail(0)) > 0 Then
  • For I = 1 To CInt(Detail(0))
  • Tampon = Tampon & ListeSeparation
  • If Detail(I + 1) = "str" Then Tampon = Tampon & MonResultat.GetString(I)
  • If Detail(I + 1) = "int" Then Tampon = Tampon & CStr(MonResultat.GetInt16(I))
  • Next
  • End If
  • Sw.WriteLine(Tampon)
  • Tampon = ""
  • I = 0
  • Compteur += 1
  • End While
  • Sw.Flush()
  • Sw.Close()
  • maconnexion.Dispose()
  • maconnexion.Close()
  • MsgBox(Compteur & " enregistrements exportés dans " & NomFichier)
  • Catch ex As Exception
  • MsgBox(ex.Message & "-" & CStr(Compteur), MsgBoxStyle.Exclamation)
  • ShowErrors(ex)
  • End Try
  • End Sub
  • End Module
Imports System.IO
Imports System.Text
Imports System.Data.SqlServerCe
Module Data
#Region "Declarations"
    Public CheminCourant As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase)
    Public Const ListeSeparation = ";"
#End Region
    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
    Public Sub LireRequete()
        Dim Sr As New StreamReader(CheminCourant & "\Requete.txt")
        Dim StrInput, NomFichier, Requete, NomBase, Nombre As String
        Try
            NomBase = StrInput
            Requete = Sr.ReadLine
            Nombre = Sr.ReadLine
            NomFichier = Sr.ReadLine
            MsgBox("Requete " & Requete & "(" & CStr(Nombre) & ") sur " & NomBase & " pour " & NomFichier)
            ExtractData(NomBase, Nombre, Requete, NomFichier)
            Sr.Close()
        Catch ex As Exception
            ShowErrors(ex)
        End Try
    End Sub
    Public Sub ExtractData(ByVal NomBase As String, ByVal Nombre As String, ByVal Requete As String, ByVal NomFichier As String)
        Dim maconnexion As SqlCeConnection = Nothing
        Dim Detail() As String
        Dim Sw As New StreamWriter(CheminCourant & NomFichier, True)
        Dim I, Compteur, Etat As Integer
        Dim Tampon As String
        Detail = Nombre.Split(ListeSeparation)
        I = 0
        Try
            maconnexion = New SqlCeConnection(("Data Source=" & CheminCourant & NomBase))
            maconnexion.Open()
            Dim mycmd As SqlCeCommand
            Dim MonResultat As SqlCeDataReader
            mycmd = maconnexion.CreateCommand
            mycmd.CommandText = Requete
            MonResultat = mycmd.ExecuteReader
            While MonResultat.Read()
                If Detail(1) = "str" Then Tampon = MonResultat.GetString(I)
                If Detail(1) = "int" Then Tampon = CStr(MonResultat.GetInt16(I))
                If CInt(Detail(0)) > 0 Then
                    For I = 1 To CInt(Detail(0))
                        Tampon = Tampon & ListeSeparation
                        If Detail(I + 1) = "str" Then Tampon = Tampon & MonResultat.GetString(I)
                        If Detail(I + 1) = "int" Then Tampon = Tampon & CStr(MonResultat.GetInt16(I))
                    Next
                End If
                Sw.WriteLine(Tampon)
                Tampon = ""
                I = 0
                Compteur += 1
            End While
            Sw.Flush()
            Sw.Close()
            maconnexion.Dispose()
            maconnexion.Close()
            MsgBox(Compteur & " enregistrements exportés dans " & NomFichier)
        Catch ex As Exception
            MsgBox(ex.Message & "-" & CStr(Compteur), MsgBoxStyle.Exclamation)
            ShowErrors(ex)
        End Try
    End Sub
End Module

 Conclusion

exemple d'un fichier Requete.txt
\My Documents\MaBase.sdf
SELECT Nom, Prenom, Points FROM Score
4;str;str;int
\Score.csv

Il est très pratique d'utiliser query analyser pour naviguer dans les base et connaître le nom des champs


 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 CRÉER UNE BASE SANS SQL SERVER

 Sources de la même categorie

Source avec Zip Source avec une capture LISTE DE COURSES par Nico52
Source .NET (Dotnet) SQLCE CRÉER UNE BASE SANS SQL SERVER par Stephane33

 Sources en rapport avec celle ci

Source .NET (Dotnet) JOUER UN FICHIER WAV SUR MULTI-PLATEFORMES DE PDA par BarresLTD
Source avec Zip Source avec une capture Source .NET (Dotnet) CONVERTISSEUR DE MONNAIE par Phoenix2025
Source avec Zip Source .NET (Dotnet) GESTION DES CONTACTS, RDV, SUR PDA MOBILE 5 EN VB.NET par Rlooping
Source avec Zip TETRIS POUR POCKET PC OU PDA par dragonjoker59
Source avec Zip Source avec une capture Source .NET (Dotnet) RÉCUPÉRER UNE PAGE HTML AVEC UNE SOCKET par Nix

Commentaires et avis

Commentaire de OULKABIR le 11/08/2006 13:19:28

TRES BIEN

MAIS JE VEUX SAVOIR COMMENT JE PEUT SE CONNECTER DIRECTEMENT A SQL SERVER 2000 SANS PASSER PAR SQLCE
MAJ DES DONNEES DIRECT SUR SQL SERVER 2000 AVEC POCKET PC
MERCI
oulkabirabd@hotmail.com

Commentaire de ciagar le 01/02/2007 15:47:02

Merci d'avoir partager ce code. Il va surement me servir.

Commentaire de tudt_phochome le 11/05/2007 05:20:25

help me
i want one web prorgamming with mobile (asp.net)

Commentaire de Stephane33 le 11/05/2007 19:43:51 administrateur CS

Désolé TUDT mais le français est de rigueur ;
You can see  this animated presentation here http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=3&tabID=44
But I do not practise Asp.net

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Bonne chance à PDA France ! :) [ par processus ] Bonjour à tous !Bon, ce n'est pas une remarque pour le tout nouveau membre de la famille Codes-Sources mais plutôt un petit message pour souhaiter lon Comment lancer 1 appli quand le PDA se connecte au PC ? [ par nikko ] NemoBonjour,Je suis appelé à développer une appli sous Pocket PC et j'effectue des tests.Pour automatiser un maximum, je dois pouvoir lancer une appli portabilité de jeux en java sur pda ? [ par Nathal ] BonjourEst-il possible de porter sur un palm un jeu utilisant un applet java et un fichier *.jar ?D'avance merci de votre aideNathaliehttp://clea2.amb Demarrage du PDA et d'un programme [ par benbax ] Bojour a tous.Voila, je voudrai savoir si quelqu'un sait comment lancer un programme au power on du PDA.Merci a ceux qui me repondrons Ben.Petit Jeune Transfert de données de pda vers pc en c# [ par bistoul ] Bonjour,je voudrais transférer des données d'une base sql server CE sur mon pda vers une base sql server 2000 sur un pc.(si possible j'aimerais passer Programmation Delphi [ par Glorkonline ] Voilà, je suis débutant en PDA et je voudrais savoir si l'on peut programmer pour pda en Delphi, si oui, y a-t-il des compilateurs à télécharger ? et PPC oui mais bon! [ par superwaba ] J'ai lu récemment sur ce même forum qu'il n'y avait pas assez de sources qui arrivaient...Est ce étonnant?La plupart des sources fournis et des messag Programme PalmOs??? [ par Kaper ] Salut à tous,J'aurais besoin de faire un petit programme en PalmOs, mais je suis un absolu débutant.Voila la situation.J'ai un appareil-photo numériqu java et les pda??? [ par bibe ] Bonjour à tous, c'est ma première visite sur "pdafr" je suis plutot sur "javafr".Ceci dit, ma question est : peut on utiliser le langage java sur un p Conversion VB PDA [ par steffou ] Salut, je cherche à créer une interface sur un pda pour communiquer avec le port série.J'ai déjà le code en VB, et je voudrais le convertir en C car j


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 6,318 sec (3)

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