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 :

suppression d'un datetime en sql via un code c#


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2010
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 35
    Points : 14
    Points
    14
    Par défaut suppression d'un datetime en sql via un code c#
    bonjour
    je veux supprimer des donnees de type datatime a partir d'un programme c# mais le probleme c est que apres l'execusion le programme il ne supprime pas les donnes a partir du 13 de chaque moi comme si il ne les considere que 12 jour par mois
    pouvez vous m aidez dans ce problem je suis bloque
    mon code est le suivant

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
      public partial class purge2 : Form
        {
            string[] jours = { "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31" };
            string[] mois = { "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12" };
            string[] ans = { "2011", "2012", "2013", "2014", "2015", "2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025", "2026", "2027", "2028", "2029", "2030"};
     
     
            public purge2()
            {
                InitializeComponent();
     
                daystart.Items.AddRange(jours);
                monthstart.Items.AddRange(mois);
                yearstart.Items.AddRange(ans);
                dayend.Items.AddRange(jours);
                monthend.Items.AddRange(mois);
                yearend.Items.AddRange(ans);
               // yearstart.Text = "" + DateTime.Now.Year;
               // yearend.Text = "" + DateTime.Now.Year;
     
                daystart.SelectedIndex = 0;
                dayend.SelectedIndex = 0;
                monthstart.SelectedIndex = 0;
                monthend.SelectedIndex = 0;
                yearstart.SelectedIndex = 0;
                yearend.SelectedIndex = 0;
            }
    private void Delete_Click(object sender, EventArgs e)
            {
     
     
                try
                {
     
                 DateTime D1 = Convert.ToDateTime(yearstart.Text + "/" + monthstart.Text + "/" + daystart.Text + " 00:00:00.000");
     
                 DateTime D2 = Convert.ToDateTime(yearend.Text + "/" + monthend.Text + "/" + dayend.Text + " 00:00:00.000");
     
     
     
                 Program.connexion.Open();
                   SqlCommand myCommand = new SqlCommand("DELETE from  Operation where Start_Date between '" + D1 + "' and '" + D2 + "'", Program.connexion);
                   myCommand.ExecuteReader(); ;
     
     
     
     
                    richTextBox.Text = "\n Archives between " + monthstart.Text + "/" + daystart.Text + "/" + yearstart.Text + " and " + monthend.Text + "/" + dayend.Text + "/" + yearend.Text + " are deleted succefully...";
                }
                catch (Exception) { richTextBox.Text = "\nNo data... "; }
                Program.connexion.Close();
            }
    }
    merci d'avance

  2. #2
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    essaie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SqlCommand myCommand = new SqlCommand("DELETE from  Operation where Start_Date between '" + D1.ToString("dd/MM/yyyy") + "' and '" + D2.ToString("dd/MM/yyyy") + "'", Program.connexion);

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Février 2008
    Messages : 159
    Points : 486
    Points
    486
    Par défaut
    Hello
    Je dirais que t'as un problème de format de date.
    Vérifie les formats dans ta requete et ceux attendu par ta base de donnée.

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    ce qui reste le plus logique, c'est qu'une date ce n'est pas une chaine de caractère, donc au lieu entre c# et sql de la convertir en string pour que derrière elle soit reconvertie en date par sql server c'est de la transférer en date directement pour éviter les inversions mois/jours (qui dépendent des paramètres régionaux et peuvent varier d'une machine à l'autre)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    "... where date between @d1 and @d2"
    cmd.parameters.add("@d1",d1)
    cmd.parameters.add("@d2",d2)
    sinon la liste manuelle pour remplir un combobox ou listbox c'est étrange ... il existe des datetimepicker, et dans le pire des cas avec un combobox on peut faire une boucle pour remplir plutot que tout taper soi même

Discussions similaires

  1. Suppression de données SQL via PHP
    Par expression dans le forum Langage
    Réponses: 3
    Dernier message: 11/11/2008, 16h22
  2. Sql .... via interbase
    Par cmoimeme dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/12/2005, 13h05
  3. Doc pour créer requetes SQL via ODBC sous EXCEL
    Par satanas dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 25/01/2005, 08h33
  4. Connexion base SQL via Excel
    Par dp_favresa dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/01/2005, 14h32
  5. Recherche ibrairie pour éxécuter des requêtes SQL via C++
    Par daemon dans le forum Choisir un environnement de développement
    Réponses: 5
    Dernier message: 14/06/2004, 10h28

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