Question Insert ou update dans une Base

Plus d'informations
il y a 16 ans 1 semaine #6349 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

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 1 semaine #6351 par Laurent Dardenne
eddy écrit:

Une autre option plus \&quot;bourrin\&quot;

Bha là faut poster dans Ecurie.com :laugh:
eddy écrit:

Mais je sais pas trop comment testé l'existance d'une ligne dans ma base access

L'instruction Select count... me semble approprié.

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
Propulsé par Kunena