Bonjour à tous...
J'ai un souci pour insérer le texte d'un richtextbox formaté rtf dans une base de donnée Access.
J'ai créé un champ Mémo (texte enrichi) dans ma bd.
J'ai réussi à insérer le contenu du richtextbox dans le champ mémo de la bd sans perdre le formatage du texte s'il n'y a pas d'accent français dans le texte. Le problème survient aussitôt qu'il y a un accent français comme le è, à, é....
J'ai l'erreur suivante uniquement s'il y a un caractère français dans le texte : erreur de syntaxe (opérateur absent) dans l'expression "\rtf1\ansi\ansicpg1252.......
Voici ma requête :
Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dim con1 As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source='" & PathRecettes & "'; Persist Security Info=False") str = "insert into table1 (Categorie, Titre, Preparation) values ('" & ListBox1.SelectedItem & "','" & ApostropheDB(TextBox1.Text) & "','" & Document.Rtf & "')"
ainsi que la fonction apostrophe
Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Public Function ApostropheDB(ByVal Str As String) As String 'formatte le texte contenant des apostrophes permettant d'être inséré dans un champs de bd sans erreur ApostropheDB = Str.Replace("'", "''") End Function
Quelqu'un peut m'orienter à savoir ce qui arrive? Je crois que cela concerne le codage utf-8 mais aucune idée comment régler le problème.
Merci.
Partager