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 :

dll SqlProcedure - code exécution


Sujet :

C#

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Points : 129
    Points
    129
    Par défaut dll SqlProcedure - code exécution
    Bonjour,

    J'ai une SqlProcedure développée en C#.
    Pour SQL Server, elle s'exécute toujours correctement, même quand il y a des exceptions.
    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    exec PI_INSERT_PERSONNEL_MAP_PHOTOS 'server=eumsssq794\int2000;database=MAP;uid=toto;pwd=toto',
    '10004305',
    '\\euisafr035\WhoIsWho\00d761a8.jpeg'
    Bref, j'aimerai savoir s'il est possible de forcer le code de retour, notamment en erreur, lors de l'exécution de la procédure d'une DLL.

    Voici mon code C#:

    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
     
    [SqlProcedure]
            public static void PI_INSERT_PERSONNEL_MAP_PHOTOS(string pConnectionString, string pID, string pPhotoFile)
            {
                try
                {
                    if (File.Exists(pPhotoFile))
                    {
                        FileStream photoStream = new FileStream(pPhotoFile, FileMode.Open, FileAccess.Read);
                        int len = Convert.ToInt32(photoStream.Length);
                        byte[] photoFile = new byte[len];
                        photoStream.Read(photoFile, 0, len);
                        photoStream.Close();
     
                        SqlConnection connection = new SqlConnection(pConnectionString);
                        try
                        {
                            connection.Open();
                            SqlCommand cmd = new SqlCommand("insert into PERSONNEL_PHOTOS "
                              + "(id, pho_file) values (@id, @photoFile)", connection);
                            cmd.Parameters.AddWithValue("@id", pID);
                            cmd.Parameters.AddWithValue("@photoFile", photoFile);
                            cmd.ExecuteNonQuery();
                        }
                        catch (Exception ex)
                        {
                            throw;
                        }
                        finally
                        {
                            if (connection.State == ConnectionState.Open)
                            {
                                connection.Close();
                            }
                        }
                    }
                    else
                    {
                        try
                        {
                            File.GetAttributes(pPhotoFile);
                        }
                        catch (Exception ex)
                        {
                            throw;
                        }
     
                    }
                }
                catch (Exception ex)
                {
                    SqlContext.Pipe.Send("Message: " + ex.Message);
                }
            }
    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Points : 129
    Points
    129
    Par défaut
    Petit complément:
    Plus exactement je veux pouvoir faire
    et ne pas avoir pour réponse 0 (quand tout est ok) si j'ai eu une exception...

Discussions similaires

  1. créer DLL à partir code en VC++ (fichiers .h)
    Par punto dans le forum VC++ .NET
    Réponses: 3
    Dernier message: 21/03/2008, 17h45
  2. table+code+exécution code+resultat erroné
    Par pasco dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/11/2007, 11h25
  3. DLL C++ - Code portable
    Par etranger dans le forum C++
    Réponses: 4
    Dernier message: 20/10/2007, 17h26
  4. Réponses: 1
    Dernier message: 25/06/2005, 09h40
  5. Réponses: 9
    Dernier message: 29/03/2005, 09h36

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