Créer une appli qui fait un UPDATE SQL

Signaler
Messages postés
8
Date d'inscription
lundi 24 octobre 2005
Statut
Membre
Dernière intervention
11 octobre 2010
-
Messages postés
8
Date d'inscription
lundi 24 octobre 2005
Statut
Membre
Dernière intervention
11 octobre 2010
-
Bonjour à toutes et tous...

Je ne sais pas si je suis au bon endroit mais je tente quand même ma chance car je commence à perdre sérieusement mes cheveux.

Ce que j'aimerais faire, c'est un petit programme qui fait un update d'une table SQL en fonction d'une donnée indiquée.

L'idée:
J'ai une table dans laquelle j'ai deux colonnes.
Je souhaiterai pouvoir précisez l'info de la colonne1 pour mettre à jour ma colonne2 correspondante de la même ligne.
Je ne sais pas si je suis clair: l'appli me demande quelle ligne je souhaite modifier en me basant sur la colonne1 pour mettre "true" ou "False" dans le colonne2.

Je n'ai aucune expérience dans le développement. J'ai quelques notions qui permette de savoir que ce n'est pas très compliqué.

Si parmi vous il y aurait une âme charitable pour me donner un coup de main ce serait fantastique.

Merci par avance

Trebuh

7 réponses

Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
6
Bonjour,

Bon endroit bah on peut pas savoir, avec quoi développes-tu?
As-tu récupéré des sources présentes sur le site pour t'en inspirer et voir comment cela fonctionne?

Où bloques-tu exactement et qu'as tu essayé de faire?


L'expérience, c'est une connerie par jour, mais jamais la même..
Messages postés
8
Date d'inscription
lundi 24 octobre 2005
Statut
Membre
Dernière intervention
11 octobre 2010

Merci pour ta réponse...

La mienne sera très simple ... je ne sais pas développer et je n'ai aucun outils à ma dispo.

Je suis admin réseau uniquement et j'ai des tables SQL qui ne se mettent pas à jour alors pour simplifier et plutôt que de le faire à la main à chaque fois ou par requête SQL j'avais envisagé faire ça part l'intermédiaire d'un petit soft.

C'est limite abusé de venir demander j'en suis concient.

Cdlt
Messages postés
59
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
4 juillet 2013

Bonjour,

Un éditeur de texte peut suffire à résoudre ton problème.

Maintenant il faut nous indiquer précisement pour ta machine qui doit faire la requête:
- le nom du système d'exploitation
- son numéro de version version (ou sa famille)
- la version du kernel éventuellement
- le nom et la version de la distribution éventuellement
- le nom du logiciel qui gère la base de données et sa version
- la version des drivers ODBC

Avec ces renseignements, nous pourrons proposer une solution concrète.

Cordialement
Messages postés
8
Date d'inscription
lundi 24 octobre 2005
Statut
Membre
Dernière intervention
11 octobre 2010

Bonjour et merci pour ta réponse.

Le soft en question doit pouvoir être lancé un petit peu de n'importe ou donc de n'importe quel pc. On va dire que ce sera, quoi qu'il arrive, du xp sp2 minimum (et ce qui suit à savoir vista et Seven) avec le Framework 3.5 de présent.
Il peut éventuellement être stocké sur le serveur concerné et lancé à partir de celui-ci.
Ce sera donc du Windows Server 2003 R2 et 2008.

La base de donnée quant à elle tourne sur du MicroSoft SQL Server 2005/2008 (Express/Standard/Enterprise) en authentification mixte

Les pilotes ODBC seront en version 6.01.7600.16385 pour SEVEN et 2000.85.1132.00 pour XP.

Dites moi si il manque quelque chose.

Encore merci pour votre retour.

Cordialement

Trebuh
Messages postés
59
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
4 juillet 2013

Un soft c'est un bien grand mot, appelons cela un script.
Justement sous environnement XP et suivant, l'on dispose nativement du vbscript (ou vbs) et d'un éditeur de texte (NOTEPAD ou WORDPAD)
Disons qu'en tant qu'administrateur, tu sais créer ton DSN (nommé DSNTREBUH pour l'exemple)

Informations disponible sur le lien suivant
http://www.microsoft.com/france/msdn/aspnet/articles/astuce_2.mspx
' http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/enterprise/databases/

Creer un fichier, sur le bureau par exemple, nommé "essai.txt" (il faut obligatoirement visualiser les extensions dans l'explorateur de fichiers) puis l'éditer avec wordpad pour le remplir avec le contenu suivant:

' ----------------------------------------------------------------------
' pas de precision sur ton operation à réaliser donc exemple
' fixe flag booleen de la colonne 2 = true si contenu de la colonne 1 est supérieur à 30
' et pas encore fait

Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adUseClient = 3

Dim objConnexion
Dim objRecordset

Set objConnexion = CreateObject("ADODB.Connection")
objConnexion.Open "DSN=DSNTREBUH"

Set objRecordset = CreateObject("ADODB.Recordset")
objRecordset.Open "UPDATE nomdelatable set colonne2 true where (colonne1 > 30 and colonne2 false)" , objConnexion, adOpenStatic, adLockOptimistic

' en mode UPDATE la fermeture du recordset provoque une erreur
'objRecordset.Close
objConnexion.Close

WScript.Echo "Fin requête SQL"

' ----------------------------------------------------------------------

renommer "essai.txt" en "essai.vbs"
En cliquant sur ce fichier, le script est normalement exécuté (sous réserve des autorisations de certains anti-virus)

Tiens nous au courant de la suite.

Cordialement
Messages postés
8
Date d'inscription
lundi 24 octobre 2005
Statut
Membre
Dernière intervention
11 octobre 2010

Merci beaucoup pour ta réponse Jibob.

Ce type de script semble effectivement faire l'affaire.

Seulement, j'étais parti sur l'idée d'un soft, tout simplement parce qu'il faut pouvoir préciser, à l'exécution du script, la valeur de la colonne 1 qui implique le changement de la ligne à la colonne 2.

----------------------------------------------
| colonne 1 | colonne 2 | ...
----------------------------------------------
1 | toto | True | ...
----------------------------------------------
2 | titi | True | ...
----------------------------------------------
3 | tata | False | ...
----------------------------------------------
4 | ...

Je précise en variable la donnée "tata" de la colonne 1 pour passer False en True.
D'où l'idée d'un exe qui me permette de le préciser !

Merci pour votre réponse.

Cdlt

Trebuh
Messages postés
8
Date d'inscription
lundi 24 octobre 2005
Statut
Membre
Dernière intervention
11 octobre 2010

J'ai la solution ... dont je vous fais part avec plaisir. Peut-être que ce type de script apportera de l'aide à d'autres.

Pour l'explication vous avez les posts précédent...
Bien évidemment, le script ci-dessous s'applique dans mon cas, à savoir précisez la donnée de la ligne que l'on souhaite modifier appelé ici USER.

-----------------------------------------------------------
Option Explicit
Dim mConnection
Dim server
Dim facility
Dim admin
Dim pass
Dim user

server=INPUTBOX ("Entrer le nom du serveur:")
facility=INPUTBOX ("Entrer le nom de l'établissement:")
admin=INPUTBOX ("Nom d'utilisateur SQL:")
pass=INPUTBOX ("Mot de passe SQL:")
user =INPUTBOX ("Quel user souhaitez vous modifier ?")

Set mConnection =CreateObject("ADODB.Connection")
mConnection.Open "Provider=SQLOLEDB.1;Data Source=" & server & ";Initial Catalog=" & facility,admin,pass

mConnection.Execute "UPDATE TABLE1 SET COLUMN1 ='False' WHERE COLUMN2=" & user
mConnection.Execute "UPDATE INSTANCENAME.dbo.TABLE2 SET COLUMN1 =1 WHERE COLUMN2=" & user

Set mConnection=Nothing

msgbox "Mise à jour réussie"

-----------------------------------------------------------

Merci à vous pour votre investissement