none
Developpement d'une base de données sql server 2008 express avec visual studio 2010 RRS feed

  • Question

  • Bonsoir!
    J'aimerais avoir le code pour le bouton enregistrer, nouveau, modifier et supprimer de ma base de données sql serveur express AUTO dont l'interface est en visual studio 2010 et la table est TASSURE qui a les champs suivants CODEA(char(6)), ASSURE(varchar(50)), ADRESSEA(varchar(45)), TELA(char(9)).
    Et en visual studio, j'ai crée le projet, sur la form j'ai mis les textbox pour chaque champ et les boutons enregistrer, Modifier, Nouveau mais je ne connais pas comment écrire le code pour agir avec la base de données. Par exemple avec delphi7, on le fait avec les Dbtext et les boutons facilement. Mais en visual studio, comment ça se passe?
    Merci par avance pour toutes vos réponses.
    Excusé moi des erreurs et fautes.
    Zizou7
    • Modifié Zizou7 mardi 2 juin 2015 17:03
    mardi 2 juin 2015 16:56

Réponses

Toutes les réponses

  • Bonjour, Zizou7,

    Il y a plusieurs méthodes pour traiter cette tâche. Je crois que celle de l’exemple suivant est une des plus simples. D’abord vous utilisez une OleDbConnection (une autre possibilité est SqlConnection mais j’ai testé l’exemple avec OleDbConnection) pour vous connecter au serveur. Vous pouvez appliquer un bouton supplémentaire pour créer la chaîne de connection pour votre serveur SQL Server. Tout d’abord, vous cliquez une seule fois sur le bouton (parce qu’une fois la chaîne de connection définie, vous pouvez ouvrir la connection, exécuter la commande et fermer la connection dans le bouton dédié à la commande sql). Est-ce que l’AUTO est le nom de votre instance SQL Server? Si ce n’est pas le cas, veuillez le préciser dans la chaîne de connection après Data Source= . Vous devez aussi écrire dans la chaîne de connection le nom de la base de données où se trouve la table tassure. Votre login doit avoir les privilèges nécessaires pour écrire dans la base de données.

    private OleDbConnection votreConnection; //membre de Form1
    //bouton Connecter ou Définir la chaîne de connection
    votreConnection = new OleDbConnection(@"Provider=sqloledb;Data Source=AUTO;Database=votrebasededonnees;User Id=utilisateur;Password=motdepasse;");

    Pour le bouton Nouveau (ou Insérer):

                string codea = textBox1.Text;
                string assure = textBox2.Text;
                string adressea = textBox3.Text;
                string tela = textBox4.Text;
                string chaine = @"INSERT INTO Tassure(Codea, Assure, Asressea) VALUES ('" + codea + "','" + assure + "','" + adressea + "','" + tela + "');";
                OleDbCommand votreCommande = new OleDbCommand(chaine, votreConnection);
                votreConnection.Open();
                votreCommande.ExecuteNonQuery();
                votreConnection.Close();

    L’autre possibilité est de déclarer la variable chaine (chaîne de caractères pour la commande) comme variable globale (plus précisément, membre de la classe Form1, comme OleDbCommand) et d’isoler les quatre dernières lignes dans un bouton séparé (Enregistrer), à votre gré.

    Pour supprimer (bouton Supprimer):

                string codea = textBox1.Text;
                string assure = textBox2.Text;
                string adressea = textBox3.Text;
                string tela = textBox4.Text;
                string chaine = @"DELETE FROM Tassure WHERE codea='" + codea + "' AND assure='" + assure + "' AND addressa='" + addressa + "' AND tela='" + tela + "';"; //AND ou OR, selon votre intention
                OleDbCommand votreCommande = new OleDbCommand(chaine, votreConnection);
                votreConnection.Open();
                votreCommande.ExecuteNonQuery();
                votreConnection.Close();

    NB: Je voudrais attirer votre attention sur le fait que l’envoi de nom d’utilisateur et de mot de passe peut provoquer un risque au niveau de la sécurité.

    Cordialement,
    Dimitar

    mercredi 3 juin 2015 14:16
    Modérateur
  • Bonsoir Monsieur Dimitrar Denkov.

    Merci par avance de la réponse que vous m'avez donnée.

    Pour le bouton Enregistre voici le code que j'ai utilisé:

    Dim cn As New SqlConnection(" Data Source=BAYA02;Initial Catalog=AUTOBAYA;Integrated Security=True")
            Dim CODEA As String
            Dim ASSURE As String
            Dim ADRESSEA As String
            Dim TELA As String
            'cn.Open()
            CODEA = TextBox1.Text
            ASSURE = TextBox2.Text
            ADRESSEA = TextBox3.Text
            TELA = TextBox4.Text
             cn = @"INSERT INTO TASSURE(CODEA, ASSURE, ADRESSEA, TELA) VALUE(' " + CODEA + "' , '" + ASSURE + "' , '" + ADRESSEA + "' , '" + TELA + "');"';
            cmd = New SqlCommand("Data Source=BAYA02;Initial Catalog=AUTOBAYA;Integrated Security=True", cn)
            cn.Open()

            cmd.EndExecuteNonQuery(e)
            cn.Close()

    J'aimerais savoir avec un DataGridView comment peut on visualisé les enregistrements dans sql server?

    Ce DataGridView est avec les textbox sur la même forme.

    Merci beaucoup par avance.

    lundi 8 juin 2015 15:10
  • Bonjour, Zizou7,

    J'aimerais savoir avec un DataGridView comment peut on visualisé les enregistrements dans sql server?

    Ce DataGridView est avec les textbox sur la même forme.

    Une des possibilités est d’utiliser SqlDataAdapter, et de créer une DataTable qu’on remplit par la méthode Fill du SqlDataAdapter :

            'définissez la SqlConnection cn
            Dim votreCommande As SqlCommand = cn.CreateCommand()
            votreCommande.CommandText = "SELECT * FROM Tassure WHERE codea = @ParamName;"
            Dim votreDataAdapter As New SqlDataAdapter()
            votreDataAdapter.SelectCommand = votreCommande
            Dim par As New SqlParameter() With { _
                 .ParameterName = "@ParamName", _
                 .SqlDbType = SqlDbType.[Char], _
                 .Value = TextBox1.Text _
             }
            votreDataAdapter.SelectCommand.Parameters.Add(par)
            Dim tablededonnees As New DataTable()
            cn.Open()
            votreDataAdapter.Fill(tablededonnees)
            cn.Close()
            DataGridView1.DataSource = tablededonnees

    Merci de nous tenir au courant.

    Cordialement,
    Dimitar

    mercredi 10 juin 2015 11:37
    Modérateur
  • Merci Monsieur Dimitar Dentov.

    Je reviendrai pour vous informer de la suite du problème.

    • Marqué comme réponse Zizou7 jeudi 11 juin 2015 16:23
    • Non marqué comme réponse Zizou7 jeudi 11 juin 2015 16:25
    • Marqué comme réponse Zizou7 jeudi 11 juin 2015 16:25
    • Modifié Zizou7 jeudi 11 juin 2015 16:31
    • Non marqué comme réponse Zizou7 jeudi 11 juin 2015 16:31
    jeudi 11 juin 2015 16:23
  • Merci Mr DIMITAR DENKOV.

    J'ai put reglé le proglème en passant par l'assistant de Dbgridview.

    Merci infiniment.

    lundi 15 juin 2015 11:25
  • Mon problème actuel est: le code pour les boutons: Premier, Suivant, Précèdent, Dernier(First, Next, Previous, Last) en Delphi7.

    Merci par avance.

    lundi 15 juin 2015 11:30