begin process at 2012 02 16 02:24:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Base de données

 > 

Autre

 > 

Insertion quote dans une table MSI


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Insertion quote dans une table MSI

lundi 22 janvier 2007 à 10:55:41 | Insertion quote dans une table MSI

coyotejoebar

Bonjour,

Dans un fichier MSI, j'essaye d'insérer une ligne dans la table ISString depuis un objet DataTable avec le code suivant :

For Each l_DataRow In l_DataTable.Rows

  l_str_Requete = "INSERT INTO `ISString` (`ISString`, `ISLanguage_`, `Value`, `Encoded`, `Comment`) VALUES (" + _
                  "'" + l_DataRow(COL_IS_STRING).ToString + "', " + _
                  "'" + Me.m_str_LanguageID + "', " + _
                  "'" + l_DataRow(COL_VALUE).ToString.Replace("'", "\'") + "', " + _
                  "0, " + _
                  "'" + l_DataRow(COL_COMMENT).ToString + "') "

  Try

    l_View = p_Database.OpenView(l_str_Requete)

    l_View.Execute()

  Catch ex As Exception


    l_str_Erreur += l_str_Requete + vbCrLf

  End Try

Next

Tout se passe bien jusqu'au moment où la chaine à insérer contienne une simple quote. J'ai essayé de la préfixer par une autre simple quote ou par un backslash, mais rien à faire...

Quelqun pourrais m'aider????

lundi 22 janvier 2007 à 11:07:20 | Re : Insertion quote dans une table MSI

casy

Membre Club

Dans ce cas là remplace tes simples quotes par des doubles quotes à l'intérieur de ta requette.

Attention, en vb, pour dire que la double quote fait partie de la chaine, il faut la doubler.



l_str_Requete = "INSERT INTO `ISString` (`ISString`, `ISLanguage_`, `Value`, `Encoded`, `Comment`) VALUES (" + _
                  """" + l_DataRow(COL_IS_STRING).ToString + """, " + _
                  """" + Me.m_str_LanguageID + """, " + _
                  """" + l_DataRow(COL_VALUE).ToString + """, " + _
                  "0, " + _
                  """" + l_DataRow(COL_COMMENT).ToString + """) "


---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #
mercredi 24 janvier 2007 à 16:00:14 | Re : Insertion quote dans une table MSI

coyotejoebar

Désolé, mais j'avais déjà essayé, merci quand même . J'ai résolu mon pb avec le code suivant d'après le lien http://blogs.msdn.com/heaths/archiv...ape-quotes.aspx. :




If
Me .m_Type_Projet = Type_Projet.Acrobat Then

l_StreamReader =

New System.IO.StreamReader(CHEMIN_MSI_STRINGS_PRO.Replace( "3L" , Me .m_str_3L), System.Text.Encoding.Unicode)

ElseIf Me .m_Type_Projet = Type_Projet.Reader Then

l_StreamReader =

New System.IO.StreamReader(CHEMIN_MSI_STRINGS_READER.Replace( "3L" , Me .m_str_3L), System.Text.Encoding.Unicode)

End If

l_str_Requete =

"DELETE FROM `ISString` WHERE `ISLanguage_` = '" + Me .m_str_LanguageID + "'"

l_View = p_Database.OpenView(l_str_Requete)

l_View.Execute()

l_str_Requete =

"SELECT `ISString`, `Value`, `Comment`, `ISLanguage_`, `Encoded` FROM `ISString` WHERE `ISLanguage_` = '" + Me .m_str_LanguageID + "'"

l_View = p_Database.OpenView(l_str_Requete)

l_View.Execute()

While Not l_StreamReader.EndOfStream

Dim l_Record As WindowsInstaller.Record

l_Record = p_Installer.CreateRecord(5)

l_str_LigneComplete = l_StreamReader.ReadLine()

l_str_LigneParsee = l_str_LigneComplete.Split(vbTab)

For Each l_str_Colonne In l_str_LigneParsee

If l_i_Cpt_Colonnes = l_str_LigneParsee.Length - 1 Or l_i_Cpt_Colonnes = l_i_NbColonnes - 1 Then Exit For

l_Record.StringData(l_i_Cpt_Colonnes + 1) = l_str_Colonne)

l_i_Cpt_Colonnes += 1

Next

l_Record.StringData(4) =

Me .m_str_LanguageID

l_Record.StringData(5) = 0

Try

l_View.Modify(WindowsInstaller.MsiViewModify.msiViewModifyAssign, l_Record)

Catch ex As Exception

l_str_Erreur += l_Record.StringData(1).ToString + vbTab + l_Record.StringData(2).ToString + vbTab + l_Record.StringData(3).ToString + l_Record.StringData(4).ToString + vbTab + l_Record.StringData(5).ToString + vbCrLf

End Try

l_i_Cpt_Colonnes = 0

End While


Cette discussion est classée dans : table, str, datarow, quote, msi


Répondre à ce message

Sujets en rapport avec ce message

Pb de quote [ par PascalLob ] Bonjour, Voilà ma requette.Req_str = "SELECT code FROM commune WHERE nom = '" & MaVal_str & "' "Il arrive que MaVal_str soit un texte contenant un apo DataSet et BindingSource [ par Jaxom ] Bonjour, Bon, J'ai un Dataset avec une superbe table dedans J'ai un DatagridView avec les données de la table précitée grâce à un non moins superbe Suprimer des chaines d'un tableau [ par ShayW ] Salut avec un tableau de string table(100) as string si je veux suprimer tous les string qui commence par la lettre "a" j'écris une fonction [cod Remplir une liste déroulante à partir d'une requete SELECT [ par alexbigfoug ] Bonjour tous le monde !! Voilà mon problème (même mes problèmes). Je souhaite récupérer plusieurs lignes d'une table (maximum 5 colonnes), et les a Créer un fichier à partir d'une requête sql [ par alexbigfoug ] Bonjour tous le monde !! J'aurais besoin d'un coup de main de votre part !!! Je souhaite créer un fichier à partir d'une requête (fichier.txt) Exem [Catégorie modifiée .Net -> VBA] Afficher recordset dans une table [ par wiidle ] Bonjour à tous, J'ai créé une requête de sélection dans VB dont le critère est une variable définie par les sélections dans une liste box. Je souha remplir une table a travers les données de datareader [ par saadouli7 ] bonjours c'est la deuxieme fois que je pose ma probleme et j'espère que ça sera résolu. mon but c'est de remplir une table à travers les données extr Trouver la valeur minimum [ par 23max23 ] Bonjour a tous, mon problème est que j'ai mis des poids peser sur une balance dans une table et que par la suite je n'arrive pas a trouver le minimum [DEPLACE] Champ vides acceptés par défaut aide [ par moonlight2011 ] Bonjour; Moi aussi j'ai ptit souci avec Access/Excel. en fait je suis débutrice en VBA jai fait une application qui exporte une feuille Excel en une t recherche vb dao [ par abdo78 ] salut je suis de programmer une petite application avec vb6 DAO , je veux que vous m'aidez pour regler un problème . j ai une table qui s'appelle A


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 1,591 sec (3)

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