Procedure stockee => insertion des donnees dans une table

Soyez le premier à donner votre avis sur cette source.

Vue 52 583 fois - Téléchargée 1 972 fois

Description

Inserer des données dans une table (Juillet 2004)
----------------------------------------------------------------

P'tit script ecrit en vb.net qui montre
comment on peut insérer des données ds une table ms sql serveur
à l'aide d'une procedure stockee.
Si quelqu'un desire recevoir le code en c# qu'il m'envoye un p'tit mail
je me ferais un plaisir de lui traduire...

J'ai mis pas mal de commentaire

Qu 'est ce qu'une procedure stockee et ces avantages :
-----------------------------------------------------------------------

Une procédure stockée est comme son nom l?indique, une procédure manipulant les données écrite dans un langage procédural spécifique au SGBD et qui est stockée dans la base de données.

Les procédures stockées permettent une plus grande sécurité.
En effet, grâce à elles, vous pouvez retirer tous les droits des utilisateurs
sur une table et les obliger à employer vos procédures stockées (qui elles feront
ce que vous voulez exactement comme vous le voulez).
Tandis qu'un utilisateur qui
a des droits d'écriture sur une table peut faire ce qu'il veut.
Votre code est centralisé et la maintenance facilitée.
En effet, si vous décidez
de changer la structure de votre base de données, il vous suffit de mettre à jour
votre procédure stockée sans avoir à reprogrammer toutes les applications clientes.
Les procédures stockées sont exécutées sur le serveur. Comme en général le serveur
est une machine bien plus puissante que les pc clients, les temps de réponses sont bien plus performants.
Les procédures stockées sont précompilées. Cela signifie que les requêtes ne doivent
plus être ni parsées ni interprétées. Ce qui augmente fortement les performances.

Elles sont rapide à utiliser, utilise la puissance du serveur,
elles soulagent donc un peu le trafic réseaux.

Pour en savoir plus encore ....suivez ce lien

http://www.delphifr.com/code.aspx?ID=22175

Pour faire tourner le script :
-------------------------------------

Il vous suffit d'ouvrir le fichier en .sql et de le coller
dans l'analyseur de requetes et de l'executer...
Cela créera la structure de la table ainsi que la procedure stockee nommé => ajout

ensuite ouvrez le fichier global.asax
et changez les propriete de la connection, mettez le nom de
votre base de donnees

ICI =>
myConnection.Connectionstring = "server=(local);Initial Catalog=NomDeVotreBase;trusted_connection=yes"

Voila enregistrez le tout...

ca roule

Source / Exemple :


--PROCEDURE STOCKEE AJOUT 

create  proc ajout 

--DELCARATIONS VARIABLES
@insertnom       varchar(20),
@insertprenom    varchar(20),
@insertadresse   varchar(50),
@insertville     varchar(30),
@inserttelephone varchar(20)

--REQUETE INSERTION DS LA TABLE UTILISATEURS
as
insert  into dbo.utilisateurs (nom, prenom, adresse, ville, telephone)
--VALEURS 
 values (@insertnom, @insertprenom, @insertadresse, @insertville, @inserttelephone)

'-----  FORMULAIRE AJOUT DE CONTACT -----------

'ENREGISTREMENT DES DONNEES DS LA BASE
    Sub BtnValide_Click(sender As Object, e As EventArgs)
    
       ' ---- VARIABLE CONTENANT LA PAGE DE REDIRECTION ----
    dim RedirectionURL as string= "AfficheFile.aspx"
    
    
     '----  SI LE TEXTBOXNOM EST VIDE ON AFFICHE UN P TIT MESSAGE ERREUR ---
    
      IF (txtboxnom.text = "") then
         labelerreur.text = "Veuillez completer le formulaire svp...!"
    
      ' ----SINON ON ENvOIT TOUTES LES DONNEES A LA PROCEDURE STOCKEE ---
    
      Else
    
      ' --- RECUPERATION CONNECTION  DS LE FICHIER GLOBAL.ASAX ---
        myConnection = Ctype(Session("myConnection"),sqlConnection)
    
    
       '--- DECLARATION -------
        Dim  Mycommand as new sqlcommand
        MyCommand = New SqlCommand("ajout",MyConnection)
        MyCommand.CommandType = commandType.StoredProcedure
        Dim CommandAdapter As SqlDataAdapter
    
        '---- PARAMETRE PASSE A LA PROCEDURE STOCKEE => AJOUT -----
        '---- ON PLACE DONC LES VALEURS CONTENUES DS LES TEXTBOX ----
        '---  DS LES VARIABLES POUR LA PROCEDURE STOCKEE      ----
        Mycommand.parameters.add("@insertnom", SqlDbType.nvarchar).value = Txtboxnom.text
        Mycommand.parameters.add("@insertprenom", SqlDbType.nvarchar).value = TxtBoxprenom.text
        Mycommand.parameters.add("@insertadresse", SqlDbType.nvarchar).value = TxtBoxad.text
        Mycommand.parameters.add("@insertville", SqlDbType.nvarchar).value = TxtBoxvi.text
        Mycommand.parameters.add("@inserttelephone", SqlDbType.nvarchar).value =TxtBoxtel.text
    
        '----GESTION ERREURS -----------
    
    
        Try
         ' ---ici on met le code à exécuter risquant d?engendrer l?erreur
    
          '----- EXECUTE LA COMMANDE -----
         'Exécute une instruction Transact-SQL sur la connexion et peut retourner
         ' le nombre de lignes affectées
    
          Mycommand.ExecuteNonQuery()
    
          '---- REDIRECTION -------
          Response.Redirect(RedirectionURL)
    
    
    
        Catch
          ' ---ici on place le code à exécuter si l?erreur se produit
          labelerreur.text = "Une erreur s'est produite"
    
    
        End Try
         ' ----- FERMETURE CONNECTION ------
          Myconnection.close()
    
    'FIN
    end if
    
    
    End Sub

Conclusion :


Enjoy

Christophe

http://membres.lycos.fr/annmysql/

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

ravat
Messages postés
14
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
4 août 2004
-
salut Jimmy
t'as fait un trés bon tavail ,y'a rien à dire.
J'ai une petite question pour toi: Si jamais je veux utiliser ton formulaire mais cette fois ci à l'inverse càd afficher le contenu du formulaire à partir de la base juste en remplissant le champ par exemple nom.
Est ce que t'as un code ou un petit help à me filer.
merci d'avance
cs_jimmy69
Messages postés
787
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
27 novembre 2008
-
salut salut ravat,

Thanks...je debute et j'essaye de faire des codes simples ...

Pour ton stress tu dois utiliser un controlrepater
qui te permettra de lister ta table et ds ce controle tu mettra tes champs

<asp:TextBox id="Txtboxnom" ...

J'ai mis un exemple sur ce site....
ravat
Messages postés
14
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
4 août 2004
-
resalut jimmy
tu disais que t'as mis un exemple sur ce site ,tu pourrais pas stp me filer l'url .
merci
cs_jimmy69
Messages postés
787
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
27 novembre 2008
-
doudati87
Messages postés
1
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
7 mars 2009
-
salut bon j ai pas encore essayer d'utilisé cette procédure là.j espère que vous aurez une application d'une gestion de la bibliothèque en ralation avec SQL2000 on utilisant l'orientée objet.
merci d'avance

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.