Autres Traitements à réaliser
Bonjour à tous,:D
J'essaye dans ma page aspx de taper dans une zone de texte une requête et de renvoyer le résultat vers un GridView en cliquant sur un botton,j'ai réalisé ce traitement et tous ca marche bien et je veux améliorer cela en ajoutant d'autres traitements sur ce programme par exemple dans le cas où je fais une requête sur une table inexistante et puiseque je travaille avec oracle lorseque je fais cela il me retourne cet erreur
1- Oracle.DataAccess.Client.OracleException: ORA-00942: Table ou vue inexistante
Aussi si je tape n'importe quelle chaine sur cette zone il me retourne cet erreur
2- Oracle.DataAccess.Client.OracleException: ORA-00900: Instruction SQL non valide
Ma question est comment je peux récuperer ces erreurs et de pouvoir les retourné dans un MessageBox et rester dans la page qui contient la zone de texte ,le botton et la GridView?
Merci 8O
Javascript+asp.net pour afficher les erreurs generes par oracle
Bonjour,
Voici la solution :
Dim connectionString As String = "Data Source= bd; User ID=id; Password=psw;"
Dim conn As OracleConnection
Dim strSql As String
Dim dataset As New DataSet
Dim command As New OracleCommand()
Dim DataAdapter As New OracleDataAdapter()
Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
conn = New OracleConnection(connectionString)
Try
conn.Open()
Dim texte As String
texte = TextBox1.Text
If TextBox1.Text.Length = 0 Then
'MessageBox.Show("Veuillez saisir le traitement que vous voulez effectuer", "Erreur")
'MsgBox("Veuillez saisir le traitement que vous voulez effectuer", MsgBoxStyle.ApplicationModal)
Else
DataAdapter.SelectCommand = New OracleCommand(texte, conn)
DataAdapter.Fill(dataset, "utilisateur")
GridView1.DataSource = dataset.Tables("utilisateur")
GridView1.DataBind()
conn.Close()
End If
Catch i As OracleException
Dim errorMessage As String = "Code: " & i.Number & vbCrLf & _
"Message: " & i.Message
Dim log As System.Diagnostics.EventLog = New System.Diagnostics.EventLog()
log.Source = "My Application"
'log.WriteEntry(errorMessage)
Dim cstype As Type = Me.GetType()
Dim cs As ClientScriptManager = Page.ClientScript
Dim cstext1 As String = "alert(""" & errorMessage.Replace("""", "\""").Replace(vbNewLine, "\n") & """);"
Dim csname1 As String = "PopupScript"
Dim csname2 As String = "ButtonClickScript"
If (Not cs.IsStartupScriptRegistered(cstype, csname1)) Then
cs.RegisterStartupScript(cstype, csname1, cstext1, True)
End If
If (Not cs.IsClientScriptBlockRegistered(cstype, csname2)) Then
Dim cstext2 As New StringBuilder()
cstext2.Append("<script type=""text/javascript""> function DoClick1() {")
cstext2.Append("Form1.Message.value='Text from client script.'} </")
cstext2.Append("script>")
cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), False)
End If
End Try
End Sub
Cordialement
:yaisse2: