begin process at 2010 02 09 12:36:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Foxpro

 > 

Divers

 > 

Général

 > 

vfpoledb - update tables


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

vfpoledb - update tables

vendredi 21 novembre 2008 à 15:30:40 | vfpoledb - update tables

dp_favresa

Membre Club
Bonjour,

J'ai créé une petite appli VB2005 qui doit me permettre une mise à jour dans des tables Foxpro indépendantes. Mon code fonctionne, mais seulement si la table à modifier n'est pas en cours d'utilisation. Selon ce que j'ai pu entrevoir dans divers forums, j'ai l'impression qu'il manque un paramètre genre "accès non exclusif" mais ne trouve pas lequel.

Extrait du code :
O_Txt = "Provider=VFPOLEDB;Data Source=" & Chemin
O_sql1 = "UPDATE " & Fichier & " SET "
If Fichier.Substring(0, 7) = "FADNODB" Then
     O_sql1 = O_sql1 & "REPR = '" & TBnom2.Text & "' "
Else
     O_sql1 = O_sql1 & "NOM1 = '" & TBnom.Text & "' , "
     O_sql1 = O_sql1 & "NOM2 = '" & TBnom2.Text & "' , "
     .....
     .....
     O_sql1 = O_sql1 & "EMAIL = '" & TBmail.Text & "' , "
     O_sql1 = O_sql1 & "INTERNET = '" & TBweb.Text & "' "
End If
     O_sql1 = O_sql1 & "WHERE ADNO = '" & MemCle & "' "

     O_Conn = New OleDbConnection(O_Txt)
     O_Conn.Open()
     O_Cmd = New OleDbCommand(O_sql1, O_Conn)
     O_Cmd.ExecuteNonQuery()
     O_Conn.Close()

Principes de l'appli :
- sélection de la table (OpenFileDialog), récupération du chemin et du nom de fichier
- charger un DataGrid à partir d'un DataSet
- sélection du record à modifier par le DataGrid, envoi des données dans des TextBox
- update sql

Merci d'avance à qui me dépannera.

Bon(nes) courage, développement, salutations...
(choisissez ce qui vous convient) dp
dimanche 23 novembre 2008 à 18:08:17 | Re : vfpoledb - update tables

MichelAtoutFox

Membre Club
Bonjour,

par qui (quelle application) la table peut-elle être utilisée en même temps? qu'est-ce qui te fait penser que c'est un problème de conflit d'accès?

l'aide de VFPOLEDB propose 3 techniques différentes pour mettre à jour des données VFP, les as-tu essayées toutes les 3?
lundi 24 novembre 2008 à 08:30:21 | Re : vfpoledb - update tables

dp_favresa

Membre Club
Bonjour,

La table peut être utilisée (en lecture seule) par son appli d'origine développée en Foxpro en externe, c'est le programmeur de cette appli qui m'a indiqué de chercher vers conflit d'accès. Problème, nous ne pouvons pas vraiment nous parler, il est nul en VB, comme je suis nul en Foxpro.
J'ai eu passablement de peine à trouver la méthode utilisée dans mon code, lors de recherche sur vfpoledb on retrouve bien trop souvent oledb tout court avec des traitements basés sur Access. Si tu a un lien qui me montre les 3 techniques dont tu parles, je suis preneur.
Pour terminer, je reçois des messages d'erreur différents selon la table modifiée, donc je crois qu'il doit s'agir de plus que des droits d'accès, je vais chercher plus loin.
Merci et bonne journée.

Bon(nes) courage, développement, salutations...
(choisissez ce qui vous convient) dp
lundi 24 novembre 2008 à 10:10:08 | Re : vfpoledb - update tables

MichelAtoutFox

Membre Club
Bonjour,

le VFPOLEDB SP2 est téléchargeable sur le site de Microsoft, et la version précédente comportait le fichier d'aide (je n'ai pas vérifié pour cette version). c'est dans l'aide que tu trouveras les 3 techniques dont je parle.
En principe, le fichier d'aide est installé dans \Program Files\Microsoft Visual FoxPro OLE DB Provider\Doc
Si tu ne le trouves pas, je peux te le faire passer par mail (mon adresse est michelvfplevy [supprime_ceci] @ yahoo.fr)

En fox, on peut parfaitement ouvrir une table en lecture seule ET en accès exclusif. On peut aussi ouvrir en mode SHARED, mais poser des verrous de fichier par FLOCK qui empèchent tout accès concurrentiel. C'est une part de la richesse de fox, justement, et il est vraissemblable que ce soit l'origine de ton problème.

quels sont les messages d'erreur que tu reçois? on va peut-être pouvoir déterminer le pb par ce biais là.
mardi 2 décembre 2008 à 11:20:04 | Re : vfpoledb - update tables

dp_favresa

Membre Club
Réponse acceptée !
Bonjour,

J'ai eu à nouveau un peu de temps à consacrer à mon appli. Le problème n'était pas au niveau de l'accès. Après pas mal d'essais dans lesquels j'ai encodé en dur une requête update après l'autre pour chaque champs, j'ai remarqué qu'un de ces champs générait systématiquement une erreur. Hors ce champ, cela fonctionne bien.
J'ai eu quelques soucis avec la constitution de ma requête :
"update table set champ= ' " & textbox.text & "' "
Pourquoi ??
En faisant :
variable = textbox.text
"update table set champ= ' " & variable & "' "

Plus aucun problème. Du moment que ça fonctionne comme ça, je ne vais pas chercher plus loin.
Merci.

Bon(nes) courage, développement, salutations...
(choisissez ce qui vous convient) dp


Cette discussion est classée dans : text, conn, update, vfpoledb, sql1


Répondre à ce message

Sujets en rapport avec ce message

Installation de VFPOLEDB [ par pledoux ] Bonjour,J'ai un problème pour l'installation de VFPOLEDB sur certains postes qui tournent sous :- NT 4 SP6,- W2000,- W2000 SP2,Le message est le suiva vfpoledb, dbf dans plusieurs repertoire [ par lijohann ] bonjour,je commence juste a utiliser le vfpoledb et j'ai un probleme. Je voudrais executer un requete faisant appel à des tables.dbf se trouvant dans fichiers necessaires au vfpoledb ? [ par lijohann ] bonjour,j'ai une appli sous excel qui utilise le vfpoledb pour accéder à mes donées.Mon probleme est que des utilisateurs doivent l'appeler en mode te Problème ajout enregistrement avec VFPOLEDB [ par pledoux ] Bonjour,Je souhaite insérer un enregistrement dans une table DBF sous VB.J'utilise VFPOLEDB je pense que je dois avoir un problème dans ma connection [SQL] Update [ par erwinn ] Bonjour,Je travaille avec foxpro 8.0Existe-t-il  un moyen de faire un update sur un nombre limité de ligne. (je veux juste mettre à jour la première l update, insert avec free table [ par asmahane24 ] Bonjour;j'ai réalisé ma première application [Passerelle] avec VFP9 qui utilise deux free tables "tr_navire" et "agence". mon application contient aus test sur un textBox [ par slimvir ] bonjour,j'aimerai bien tester le champ dans un text box si c'est un entier je passe sinon j'affiche un message.je n'ai pas trouver comment faire le co Requête sur FoxPro via OLEDB & SEEK [ par Therian ] Bonjour,  Voilà plusieurs jours que je cherche une solution, parcourant atoutfox et foxprofr et tombant sur plusieurs messages proposant des pistes in


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,562 sec (3)

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