Question
Insert ou update dans une Base
- edouard
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 9
- Remerciements reçus 0
il y a 16 ans 1 semaine #6349
par edouard
Insert ou update dans une Base a été créé par edouard
Salut à tous !
je reviens vers vous pour demander un coup de main.
dans le devloppement d'un script d'inventaire (a base de wmi) avec une sortie vers une base access.
L'idée est de mettre le nom des machine en clée primaire.
Donc problème pour mes requetes SQL, en gros il faudrait faire un :
Si le nom machine exist = UPADTE des champs voulu
Sinon : INSERT de toute la ligne
Alors j'ai commencé en ADO.NET;
L'insert fonctionne très bien (grace a vous entre autres =) )
Mais je sais pas trop comment testé l'existance d'une ligne dans ma base access
Une autre option plus \"bourrin\" serait de faire UPDATE sur une erreur d'insert impossible a cause de création de doublon,
mais je ne sais pas non plus comment déclanché une fonction en cas d'une erreur.
Quelqu'un aurait une idée ?
[code:1]
Function Connect-Database
{
$cnstring = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:inventaire.mdb;Mode=ReadWrite'
\"Updating Inventaire\"
$cmdtext =
IF (nommachine = \"nom machine dans la base\" )exist
{UPDATE (champs) VALUES ('\"+champs+\"')}
ELSE
{INSERT (NomMachine, Champs) VALUES ('\"+NomMachine+\"','\"+Champs+\"')
$cn = New-Object System.Data.OleDb.OleDbConnection $cnstring
$cn.Open()
$cmd = New-Object System.Data.OleDb.OleDbCommand $cmdtext, $cn
$cmd.ExecuteNonQuery()
$cn.Close()
[/code:1]<br><br>Message édité par: eddy, à: 11/03/10 14:50
je reviens vers vous pour demander un coup de main.
dans le devloppement d'un script d'inventaire (a base de wmi) avec une sortie vers une base access.
L'idée est de mettre le nom des machine en clée primaire.
Donc problème pour mes requetes SQL, en gros il faudrait faire un :
Si le nom machine exist = UPADTE des champs voulu
Sinon : INSERT de toute la ligne
Alors j'ai commencé en ADO.NET;
L'insert fonctionne très bien (grace a vous entre autres =) )
Mais je sais pas trop comment testé l'existance d'une ligne dans ma base access
Une autre option plus \"bourrin\" serait de faire UPDATE sur une erreur d'insert impossible a cause de création de doublon,
mais je ne sais pas non plus comment déclanché une fonction en cas d'une erreur.
Quelqu'un aurait une idée ?
[code:1]
Function Connect-Database
{
$cnstring = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:inventaire.mdb;Mode=ReadWrite'
\"Updating Inventaire\"
$cmdtext =
IF (nommachine = \"nom machine dans la base\" )exist
{UPDATE (champs) VALUES ('\"+champs+\"')}
ELSE
{INSERT (NomMachine, Champs) VALUES ('\"+NomMachine+\"','\"+Champs+\"')
$cn = New-Object System.Data.OleDb.OleDbConnection $cnstring
$cn.Open()
$cmd = New-Object System.Data.OleDb.OleDbCommand $cmdtext, $cn
$cmd.ExecuteNonQuery()
$cn.Close()
[/code:1]<br><br>Message édité par: eddy, à: 11/03/10 14:50
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 1 semaine #6351
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Insert ou update dans une Base
eddy écrit:

eddy écrit:
Concernant le nom de machine comme clé, vérifie si un nom peut être présent dans deux domaines, j'ai un doute.
Si c'est le cas une clé composite (Domaine,Machine) sera nécessaire.<br><br>Message édité par: Laurent Dardenne, à: 11/03/10 20:32
Bha là faut poster dans Ecurie.comUne autre option plus \"bourrin\"
eddy écrit:
L'instruction Select count... me semble approprié.Mais je sais pas trop comment testé l'existance d'une ligne dans ma base access
Concernant le nom de machine comme clé, vérifie si un nom peut être présent dans deux domaines, j'ai un doute.
Si c'est le cas une clé composite (Domaine,Machine) sera nécessaire.<br><br>Message édité par: Laurent Dardenne, à: 11/03/10 20:32
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.041 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Insert ou update dans une Base