2010-10-13 4 views
1

J'ai un problème avec ce code, peut-être que vous pouvez me donner un coup de main. Im insérant des informations de fichier en tant que lignes avec le nom, la taille, ... ils sont tous varchars Le problème est que le "nom" a ce tildes dans le fichier name, alors quand il essaye d'analyser les données, il se bloque.C# + OLEDB insert varchar avec un caractère spécial?

le nom du fichier est: Creedence Clearwater Revival - Lookin' Out My Back Door - 09.mp3

après "Lookin" il y a un '

ma commande: oleDbInsertCommand1 .CommandText = "INSERER DANS Dirs-Arcs (nombre, formato, tamaño, path, tags) VALEURS ('" + nom + "', '" + formato + "', '" + tamaño + "', '" + chemin + "', '" + ta gs + "')";

cela fonctionne très bien avec les noms de fichiers sans ces caractères, comment puis-je analyser cela mieux ???? merci.

Répondre

3

Utiliser les paramètres:

OleDbCommand cmd = new OleDbCommand ("INSERT INTO dirs-arcs (nombre, formato, tamano, path, tags) VALUES (@name, @format, @tamano, @path, @tags)", connection); 

cmd.Parameters.Add("@name", OleDbType.VarChar).Value = name; 
// add all parameters 

HTH

Mario

+0

Merci Mario, qui a bien fonctionné. J'ai vu un exemple comme celui-ci avant, mais jusqu'à présent je ne le comprenais pas. Merci – HoNgOuRu

+0

maintenant je fais. :) merci – HoNgOuRu

+0

Vous êtes les bienvenus! –

0

Vous pouvez utiliser AccessDataSource avec des paramètres. Si vous utilisez des paramètres, vous n'avez aucun problème pour les caractères spéciaux.

Questions connexes