none
(Visual Studio 2008 SQL Express) Impossible d'activer les contraintes… ? RRS feed

  • Question

  • Bonjour,

    J'ai deux boutons, qui lancent chacun une procédure stockée

    L'un : sp_helpdb

    L'autre : sp_helpfile

    Et j'affiche le résultat dans un DataGridView

    A l'exécution, c'est curieux !

                Je lance sp_helpdb OK, j'affiche le résulat

                Je lance ensuite le sp_helpfile, OK, j'affiche le résulat

                Je relance le sp_helpdb, et là, j'ai l'erreur

    Impossible d'activer les contraintes. Une ou plusieurs lignes contiennent des valeurs qui violent les contraintes de type non null, unique ou de clé externe.

    Voici les codes des procédures

    ALTER PROCEDURE dbo.StoredProcHelpdb
    AS
    	--EXEC sp_helpdb [ [ @dbname= ] 'name' ]
    	EXEC sp_helpdb
    	RETURN
    ALTER PROCEDURE dbo.StoredProcHelpfil
    AS
    	EXEC sp_helpfile
    	RETURN

    Le code des boutons lançant ces procédures

        Private Sub butHelpFil_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butHelpFil.Click
            '   Vous pouvez aussi exécuter la procédure dans le panneaux "Explorateur de serveur"
            Try
                Me.Cursor = Cursors.WaitCursor
                Call Liberation()
                dgwInfo.DataSource = Nothing
                wDataTable.Rows.Clear()
                sqlRequete = "EXEC StoredProcHelpfil"
                SqlCmd = New SqlCommand(sqlRequete, SqlConx, Sqltrans)
                SqlDR = SqlCmd.ExecuteReader
                wDataTable.Load(SqlDR)
                dgwInfo.DataSource = wDataTable
                Me.Cursor = Cursors.Default
                If Not wDataTable Is Nothing Then
                    SqlDR.Close()
                End If
                Call Liberation()
            Catch ex As Exception
                MsgBox("butHelpFil_Click " & ex.Message)
                wOk = False
                Me.Cursor = Cursors.Default
            End Try
        End Sub
    
        Private Sub butHelpdb_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butHelpdb.Click
            '   Vous pouvez aussi exécuter la procédure dans le panneaux "Explorateur de serveur"
            Try
                Me.Cursor = Cursors.WaitCursor
                Call Liberation()
                dgwInfo.DataSource = Nothing
                wDataTable.Rows.Clear()
                sqlRequete = "EXEC StoredProcHelpdb"
                SqlCmd = New SqlCommand(sqlRequete, SqlConx, Sqltrans)
                SqlDR = SqlCmd.ExecuteReader
                wDataTable.Load(SqlDR)
                dgwInfo.DataSource = wDataTable
                Me.Cursor = Cursors.Default
                If Not wDataTable Is Nothing Then
                    SqlDR.Close()
                End If
                Call Liberation()
            Catch ex As Exception
                MsgBox("butHelpdb_Click " & ex.Message)
                wOk = False
                Me.Cursor = Cursors.Default
            End Try
        End Sub

    Pourquoi cette erreur ?




    Cordialement Sauveur CONSALVI

    dimanche 2 décembre 2012 09:05

Réponses

Toutes les réponses