IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

base de donne sql server express


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Points : 45
    Points
    45
    Par défaut base de donne sql server express
    Bonjour,

    j'aimerais faire deux requêtes avec ma base de donnée.
    J'arrive à m'y connecter.

    Cependant j'ai du mal à comprendre la requête. Je veux faire dabord un select puis un insert.
    Voici le select + connection

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
            System.Data.SqlClient.SqlConnection cn;
            DataSet ds1;
            System.Data.SqlClient.SqlDataAdapter da;
     
     
                cn = new System.Data.SqlClient.SqlConnection();
                ds1 = new DataSet();
     
                cn.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\ziglass.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
     
                cn.Open();
     
     
                            serialPort1.Open();
                            string mySelectQuery = "SELECT Temp_Int, Temp_Out, Lum_Int, Lum_Out, Battery, Signal FROM data WHERE ID = 1";
                            da = new System.Data.SqlClient.SqlDataAdapter(mySelectQuery, cn);
     
                            da.Fill(ds1,"data");
     
                            DataTable datatable = ds1.Tables[0];
    je ne sais pas très bien ce que fait ce code.

    Je désires juste mettre chacune des valeurs récupérées (temp_int...) dans une variable différente. Mais comment?

    En ce qui concerne la commande insert, je ne vois pas comment faire. J'aurai des variable
    a,b et c a mettre dans temp_int...

    Merci de votre aide

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Points : 45
    Points
    45
    Par défaut
    j'ai fait ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     string mySelectQuery = "SELECT Temp_Int, Temp_Out, Lum_Int, Lum_Out, Battery, Signal FROM data WHERE ID = 1";
     
     
                            SqlCommand myCommand = new SqlCommand(mySelectQuery, cn);
                            myReader = myCommand.ExecuteReader();
                            //myReader = myCommand.ExecuteReader();
                            myReader.Read();
     
                            textBox1.Text = myReader["Temp_Int"].ToString();
                            textBox2.Text = myReader["Lum_Int"].ToString();
                            textBox3.Text = myReader["Temp_Out"].ToString();
                            textBox4.Text = myReader["Lum_Out"].ToString();
     
                            progressBar_Signal.Value = Convert.ToInt32(myReader["Signal"]);
                            progressBar_alim.Value = Convert.ToInt32(myReader["Battery"]);
    mais ça marche pas.Avec le debugger j'ai remarqué que j'étais bloqué ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myReader = myCommand.ExecuteReader();
    pourtant j'ai bien fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            SqlDataReader myReader;
    je ne sais pas très bien ce qui se passe...
    Pouvez-vous m'aider?

    Merciiiii

  3. #3
    Membre actif Avatar de AJemni
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2008
    Messages : 242
    Points : 290
    Points
    290
    Par défaut
    Salut,
    pour la sélection et la mise des valeurs dans des variables voici un bout de code utilisant la DataReader (on modifiant un peut ton code) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    string tmp_Int = string.Empty;
                string tmp_Out = string.Empty;
                string lum_Int = string.Empty;
                string lum_Out = string.Empty;
                string battery = string.Empty;
                ...
     
                SqlDataReader dr = null;
                string mySelectQuery = "SELECT Temp_Int, Temp_Out, Lum_Int, Lum_Out, Battery, Signal FROM data WHERE ID = 1";
                string strConnection = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\ziglass.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
                try
                {
                    using (System.Data.SqlClient.SqlConnection cn = new System.Data.SqlClient.SqlConnection(strConnection))
                    {
                        cn.Open();
                        serialPort1.Open();
                        SqlCommand cmd = cn.CreateCommand();
                        cmd.CommandType = System.Data.CommandType.Text;
                        cmd.CommandText = mySelectQuery;
                        dr = cmd.ExecuteReader();
                        while (dr.Read())
                        {
                            if (dr["Temp_Int"] != DBNull.Value)
                                tmp_Int = dr["Temp_Int"].ToString();
                            if (dr["Temp_Out"] != DBNull.Value)
                                tmp_Out = dr["Temp_Out"].ToString();
                            if (dr["Lum_Int"] != DBNull.Value)
                                lum_Int = dr["Lum_Int"].ToString();
                            if (dr["Lum_Out"] != DBNull.Value)
                                lum_Out = dr["Lum_Out"].ToString();
                            if (dr["Battery"] != DBNull.Value)
                                battery = dr["Battery"].ToString();
                            ...
                        }
                        dr.Close();
                    }
                }
                catch (Exception)
                {
                    if (dr != null)
                        if (!dr.IsClosed) dr.Close();
                    throw;
                }
    et pour l'insertion tu peut faire avec cmd.ExecuteNonQuery() et utilise SqlParameter.

    A+

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Points : 45
    Points
    45
    Par défaut
    salut,

    j'ai essayé ton code.

    Mon programme compile, mais ne va pas rechercher les valeurs...

    Je ne vois pas où est le problème! Je passe toujours dans le catch...

    voila le code que j'ai mis. Ma base de donnée à l'aire ouverte. je la garde ouverte toute au début!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    if (!serialPort1.IsOpen)
                        {
                            string mySelectQuery = "SELECT Temp_Int, Temp_Out, Lum_Int, Lum_Out, Battery, Signal FROM data WHERE ID = 1";
     
                            try
                            {
     
     
                                    SqlCommand cmd = cn.CreateCommand();
                                    cmd.CommandType = System.Data.CommandType.Text;
                                    cmd.CommandText = mySelectQuery;
                                    myReader = cmd.ExecuteReader();
                                    while (myReader.Read())
                                    {
                                        textBox1.Text = myReader["Temp_Int"].ToString();
     
                                        textBox2.Text = myReader["Temp_Out"].ToString();
     
                                        textBox3.Text = myReader["Lum_Int"].ToString();
     
                                        textBox4.Text = myReader["Lum_Out"].ToString();
     
                                       // progressBar_Signal.Value = Convert.ToInt32(myReader["Battery"]);
     
                                    }
                                    myReader.Close();
                                }
     
     
                            catch (Exception)
                            {
                                if (myReader != null)
                                    if (!myReader.IsClosed)
                                        myReader.Close();
     
                            }
                        }
    Si vous voulez bien le critiquez...merciiii

  5. #5
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Peut-tu poster ton code en entier.

    Dans le catch faut capturer l'exception qui est retourné et le poster pour qu'on puissent avoir une idée du problème

Discussions similaires

  1. connexion à un fichier de base de données sql server express
    Par djelloharmel dans le forum Accès aux données
    Réponses: 16
    Dernier message: 23/05/2013, 15h05
  2. Réponses: 8
    Dernier message: 10/08/2010, 11h33
  3. Réponses: 3
    Dernier message: 10/07/2008, 11h43
  4. Réponses: 5
    Dernier message: 18/05/2007, 14h34
  5. Probleme connexion base de données (SQL Server 2005 Express)
    Par GuileIzback dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 13/11/2006, 01h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo