begin process at 2012 02 10 06:02:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Base de données

 > 

SQL Server

 > 

lire avec c# des données de sql database


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

lire avec c# des données de sql database

mercredi 18 mars 2009 à 12:14:53 | lire avec c# des données de sql database

Kleino

Slt,
  je suis débutant et n?arrive pas á entrer dans ma base de donnée pour lire les informations et les faire ressortir á l écran:
voici mon code, pouvez vs m?aider?

using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;

namespace New
{
   
    /// <summary>
    /// Summary description for Class1.
    /// </summary>
    class DataReader_SQL
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main(string[] args)
        {
            //
            // TODO: Add code to start application here
            //
            try
            {
                SqlConnection thisConnection = new SqlConnection(@"Network Library=DBMSSOCN;Data Source=192.168.0.100,1433;database=HQSP0195.dbo;User id=sa;Password=;");
                thisConnection.Open();
                SqlCommand thisCommand = thisConnection.CreateCommand();
             thisCommand.CommandText = "SELECT HZO, HZO_OFEN FROM HZO_HZUG";
             SqlDataReader thisReader = thisCommand.ExecuteReader();
                while (thisReader.Read())
                {
                    Console.WriteLine("\t{0}\t{1}", thisReader["HZO"], thisReader["HZO_OFEN"]);
                    }
                thisReader.Close();
                thisConnection.Close();

            }
            catch (SqlException e)
            {
                Console.WriteLine(e.Message);
            }
           
        }
    }
}

comme résultat j?ai un écran tout noir, je ne sais pas si c ést datatsource qui est erroné
Merci
       
   


jeudi 19 mars 2009 à 10:34:17 | Re : lire avec c# des données de sql database

ctx_man

Salut !
L'écran tout noir c'est normal, puisque tu as fait un projet console et donc tu obtient une console.
Le "seul" moyen d'écrire sur cette console c'est de faire des Console.Write[Line]().
Ton programme en contient 2, le premier affiche les résultats de la requêtes, le second affiche un message d'érreur si ca se passe mal.
Si aucun message n'apparait, la conclusion est simple : ta requête ne retourne aucun résultat ! Au passage, je te conseil d'utiliser la clause Using, plus pratique, lisible et surtout fait mieux son boulot. Car la dans ton exemple, si un exception à lieu au moment de faire thisReader["HZO"], alors ta connection n'est pas fermée, ni ta commande, ni ton reader, et rien n'est libéré.
using (SqlConnection thisConnection = new SqlConnection(@"Network Library=DBMSSOCN;Data Source=192.168.0.100,1433;database=HQSP0195.dbo;User id=sa;Password=;"))
{
    using(SqlCommand thisCommand = new SqlCommand("SELECT HZO, HZO_OFEN FROM HZO_HZUG", thisConnection))
    {
        using(SqlDataReader thisReader = thisCommand.ExecuteReader())
        {
            while (thisReader.Read())
            {
                Console.WriteLine("\t{0}\t{1}", thisReader["HZO"], thisReader["HZO_OFEN"]);
            }
        }
    }
}


Le travail c'est la santé, ne rien faire c'est la préserver !!!
jeudi 19 mars 2009 à 14:02:46 | Re : lire avec c# des données de sql database

Kleino

Slt ctx_man,
et merci.

Cependant cela veux dire que ce serait mieux de programmer avec WindowForm au lieu de ConsoleApplication.
Puis tjrs utiliser using.
Dans ma base de données j?ai plusieurs informations, cad données, je ne  comprends pas comment tu m?explique qu?elle doi etre vide!
Peut etre je n?ai pas écrit le code convenable pr lire?



jeudi 19 mars 2009 à 14:17:08 | Re : lire avec c# des données de sql database

ctx_man

Pas tout a fait, ce n'est ni mieux ni moins bien, c'est différent. Tout dépend de ce que tu veux obtenir. Une application console peut tout a fait être adaptée.
Si tu veux une fenêtre de dialogue, tu peux très bien le faire dans un projet Console classique, mais ta console restera visible. Un projet Winform serait donc plus adaptée.
A noté que dans Visual Studio tu peux passé d'un type de projet à un autre juste en passant dans les propriétées du projet.
La clause using fait partie du language et n'est donc pas du tout dépendante du type de projet.
C'est très utile pour faire des requêtes de facon propre et performante. En gros, ca remplace pas mal de lignes de codes qu'on devrait écrire pour la gestion d'exception, la fermeture des connexions, la libération mémoie, ..., ce n'est qu'une facilité d'écriture si tu préfère.
Enfin, je n'ai pas dit que ta base est vide, j'ai dit que ta requête ne retourne pas de résultat. Je ne connais pas ta base mais si, par exemple, HZO_HZUG est une vue contenant un WHERE, il est probable qu'elle ne contienne aucun résultat. Ca peux venir de pas mal de choses.
Si tu avait eu une SqlException, le message de l'exception aurait été écrit sur la console. Mais il est probable que tu ai une exception d'un autre type, elle n'est donc pas catchée et donc pas affichée. Mais celà m'étonnes car tu aurait eu un message du type UnhandledException. La seule raison valable possible : ta requêtes ne retourne pas de résultat.
Teste la dans SQL Server Management Studio (fournit avec SQL Server si je ne m'abuse). Tu verra bien.

Le travail c'est la santé, ne rien faire c'est la préserver !!!


Cette discussion est classée dans : system, using, thisreader, hzo, thisconnection


Répondre à ce message

Sujets en rapport avec ce message

API? [ par BlackWizzard ] en C, j'avait un prog du genre ::SetWindowPos(FindWindow("ConsoleWindowClass",NULL),HWND_TOP,0,0,0,0,SWP_SHOWWINDOW); (C pour chacher le console dos d [C#] CopyTo => Pb de copy [ par adrien78 ] J' ai absolument besoins de récréer la fonction CopyTo en C#=> Cependant j' ai deux pb : - Le fichier copié ne peut pas être lu (érreur de copie Pb avec mon WebService : perte de variable [ par vow ] Bonjour @ tousJe me suis mis au C# depuis peu de temps, et je crée mon premier WebService.Un client appelle ce WS.Mon problème est que j'ai l'impressi plantage du prog [ par shinevilkyo ] lu all,j ai code un explorateur win en csharp eilmarche super sur le dd ou sur tt disque logique mais kan le contenue est trop gros a afficher ds une Definition [ par GazGaz ] lu voila je code en c# et en haut de chacune de mes pages il y a : ________________________________using System;using System.Collections;using System. Serialization Soap [ par zaka48 ] j'ai un probleme avec la declaration de l'esapce de nom using System.Runtime.Serialization;using System.Runtime.Serialization.Formatters.Soap;c'est ce Word C# [ par pete87150 ] Bonjour,Je voudrais savoir comment ouvrir un document Word en C#, quelle référence ou directive utiliser etc.Voici mon code simplifié qui ne marche pa [C#] [XML] dataSet [ADO.NET] [ par oboudou ] Je ai copier ce code d'un tutorial de developpez mais je n'est pas réussi a l'addapter pour lire une base de donné dans un fichier xml. Si on peut me Erreur dont j'arrive pas a me débarrasser [ par patemino ] En C# avec #developusing System;using System.Windows.Forms;using System.IO;Dans une classe nommée repertoire :public class Répertoire {p Souci avec placeholder [ par MorpionMx ] Bonjour, J'ai un petit souci de placeholder qui n'affiche aucun controle.Pourtout, ca doit etre si simple, je me demande ce que je fais pas bien.J'ai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,432 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales