MS Access, 255 char max [Résolu]

Signaler
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008
-
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
-
Salut tout le monde;
Je suis débutant en Asp.net et je veux créer une petite communauté.
J'ai survolé un livre et j'ai vu les nombreuses possibilités que cet technologie offre surtout associé à un language comme Csharp.
J'ai aussi appris qu'à la base de tout site dynamique, il y a les bases de données (il y a une pub sur codes-sources de microsoft qui dit ca )
Moi, j'ai pensé, vu que je commence, que le mieux état de partir avec Microsoft Access.
Le problème est qu'il y a un maximum de caractères la-dessus (255 caractères pour le texte)...
alors, je me dis que pour faire un forum, où le monde doivent posé de longues questions (comme celle-ci), 255 caractères ne sont pas suffisante.

C'est pour cela que je demande l'avis de ceux qui ont de l'experience....Je fais quoi pour contouner cette limitation?

perso, j'ai pensé à deux choses:
utiliser des fichiers textes....et dans ma base de donnée access, il y a aura juste le lien vers le fichier texte (genre D:\data\file0542.txt)
ou encore, utiliser les objets OLE (je ne connais pas vraiment le fonctionnement mais j'imagine que ca doit être un stream binaire que tu te charges de lire)

Selon moi, le problème avec ces deux solutions est qu'il est difficile de faire des recherches dans la base de donnée. Ainsi dans l'exemple d'un forum, si tu veux proposer à l'utilisateur de faire une recherche dans tout les messages, bien, dans le cas de la premiere solution, je dois ouvrir tout les fichiers texte et rechercher moi-même et dans le cas de la deuxieme solution, je dois lire tout les stream OLE

Vous en pensez quoi vous?

etk, merci d'avance

@++

4 réponses

Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
Salut,

La limite des 255 caractères n'est valable que pour les champs text justement !
Il existe dans Ms Access un autre champ qui peut contenir 65635 caractères : le champ "MEMO" !!
Je te conseille d'utiliser ce champ, plutôt que de te lancer dans les fichiers textes...

Nurgle
Messages postés
1
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
1 février 2006

mais il y a un petit probleme, lorsque je fait un champs de 255, et j'envoyer des donner avec <'> le serveur affiche une error ? je suis debutant et je ne sais pas comment résoudre ce probleme .


seul le dieu programme mieu
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008

si je comprends bien, t'as un problème avec le caractère ' (l'apostrophe)
je pense que c'est parce que le caractère apostrophe est utilisé pour le début et la fin d'une chaine de caractères en sql.

c'est un peu comme la commande WriteLine de C#. admettons que je veux afficher salut tout le monde, je fais : Console.WriteLine("salut tout le monde"); //dans cette instruction, le caractère qui marque le début et la fin de la chaîne de caractères est ".
Alors, on fait quoi si on veut afficher : le "shopping" est un angliscisme?
c'est simple, on procède comme suit : Console.WriteLine("le "shopping" est un angliscisme");
la barre oblique signifie qu'il faut pas considérer le " qui suit comme étant la fin de la chaîne.

Ceci dit, pour revenir à ton problème, il faut que tu remplaces ta ' par un code qui va renseigner sql sur la signification du caractères. sincèrement, je le connais pas mais essai avec \' (barre oblique + apostrophe).

j'espère que cela t'as un peu aider
bonne chance

@++
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
Pour SQL, il suffit de doubler les apostrophes !!

en ASP.NET :

TaValeur = TaValeur.Replace(" ' ","''")

en ASP :

TaValeur = Replace(TaValeur.,"'","''")

Nurgle