2010-07-27 3 views
0

Essayer de déterminer le meilleur moyen de coder cette exigence:Ajouter/modifier table SQL

  • besoin d'insérer des lignes à une table SQL ayant un multiple index de clé (PlantID, année, mois).
  • La ligne peut déjà exister pourrait mettre à jour ou supprimer la ligne existante.
  • La ligne contient environ 150 champs qui sont dirived d'autres tables SQL.

En essayant de déterminer la manière la plus simple d'accomplir, j'ai pensé utiliser SQLDataAdaptor, toutes les idées seraient appréciées.

+0

Lorsque les données ne proviennent? Actuellement vous avez beaucoup d'options, aucune d'entre elles n'est la "meilleure" façon ... –

Répondre

0

La requête SQL est facile:

Supprimer toutes les lignes existantes en premier lieu.

DELETE FROM table WHERE PlantID = "..." AND Year = "..." AND Month = "..." 

Et maintenant insérer la nouvelle:

INSERT 
    INTO table (PlantID, Year, Month, other_col_1, ..., other_col_n) 
    VALUES("...", "...", "...", "...", ..., "...") 
+0

Seulement si l'entrée inclut nécessairement toutes les autres colonnes - ce qui n'est pas forcément le cas de la question. Si ces données ne font pas partie de vos commentaires, vous les perdrez. – AllenG

+0

BillTetrault a écrit "Besoin d'insérer des lignes dans une table SQL", pas de mise à jour ...? Est-ce que toutes les données sont connues par le programme? Peut-être qu'il est récupéré à l'avance et mis dans un formulaire de saisie, où l'utilisateur peut changer certaines valeurs si vous le souhaitez. Toutes les valeurs inchangées seront toujours là ... – opatut