Ich erstelle eine Anwendung in C# mit SQL Server als Backend. Ich muss SQL Server-Fehler erfassen und es auf C# GUI anzeigen. Zum Beispiel: (In SQL Server) Ich erstelle eine Tabelle mit den Spalten ID, Name, Alter usw., wobei ID der Primärschlüssel ist und wenn ich dieselben Werte zweimal in die ID einfüge, gibt SQL Server einen Fehler. Ich möchte diese Art von Fehler in C# GUI angezeigt werden, so dass, wenn ein Benutzer doppelte Daten über C# -Form in SQL Server eingibt dann und dort selbst ein Fehler generiert werden. Ich brauche den Code dieses bitte ... Dankbrauche Hilfe in C# und SQL
-6
A
Antwort
2
Regel der Fehler durch die .net Klassen geworfen wird ... Sie wirklich mehr Code oder Kontext
try
{
// ...
SqlCommand.ExecuteNonQuery(...);
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
1
try
{
//Run query here
}
catch(SqlException e)
{
MessageBox.Show(e.Message);
}
1
benötigen, um auf Ihre Frage
Sie müssen die Ausnahme erfassen Sie versuchen und fangen verwenden können:
try
{
//Your command here
}
catch (Exception e)
{
//Now you can use e.Message OR e.ToString() to get the message.
}
0
Ich möchte die Antwort von Timmerz erweitern, da Sie eine ganze Stack-Trace sehen können, wenn Sie die Ausnahme selbst anzeigen. Wenn Sie etwas kurz und präzise für den Benutzer wan dann zu sehen, wie folgt vorgehen:
try
{
// ...
SqlCommand.ExecuteNonQuery(...);
}
catch(SqlException SqlEx)
{
string errMsg = String.Empty;
switch(SqlEx.number)
{
case 100:
errMsg = "blah blah blah";
break;
case 200:
errMsg = "blah blah blah";
break;
case 300:
errMsg = "blah blah blah";
break;
}
if(!String.IsNullOrEmpty(errMsg))
{
//If you want a pop up display message
MessageBox.Show(errMsg);
//If you want to display it on a label of a form
Form1.Labelx.text = errMsg;
}
}
Für den SqlEx.number Wert, können Sie entweder eine ENUM erstellen für sie zu überprüfen oder können Sie auf http://msdn.microsoft.com/en-us/library/cc645603.aspx für alle auf die mögliche Zahl, die von der SQL Server-Ausnahme zurückgegeben wurde.
Hoffe, das hilft
Verwandte Themen
- 1. Neu in SQL, brauche Hilfe mit Abfrage
- 2. brauche Hilfe in Python-Liste
- 3. brauche Hilfe: python3.5.2 & pygame
- 4. Ich brauche Hilfe mit Android und Java
- 5. Rekursive Perl Detail Hilfe brauche
- 6. brauche Hilfe bei der Datenbankverbindung
- 7. brauche Hilfe bei der Datenbankerstellung
- 8. Einen Assembler schreiben, brauche Hilfe
- 9. System.Reflection.TargetInvocationException; brauche Hilfe zu verstehen
- 10. Fragen über Javascript Variable, brauche Hilfe ~
- 11. brauche Hilfe bei der Umstrukturierung einer Abfrage
- 12. brauche Hilfe Verbindung zu MySQL mit PHP
- 13. PHP + MsSQL = Checkbox Probleme. Brauche Hilfe!
- 14. Mvc Create Button Pop-up brauche Hilfe C# .net
- 15. brauche Hilfe, um ein Argument zu setzen
- 16. Objective-C und C-Referenz Hilfe
- 17. 'Doppelpunkt' und 'Auto' in for-Schleife C++? brauche Hilfe Verständnis der Syntax
- 18. Ich brauche Hilfe mit Animation Callbacks (iPhone)
- 19. SQL Server PIVOT Hilfe
- 20. Ich brauche Hilfe mit Ibox, Lightbox und Links Probleme
- 21. IE7 macht komisch, brauche ein wenig Hilfe
- 22. OpenId-Implementierung für Webdienste - brauche Tipps/Hilfe
- 23. Scala Typ Konvertierung Fehler, brauche Hilfe!
- 24. brauche Hilfe für den Aufruf der Funktion
- 25. MySQL brauche Hilfe beim Einrichten von Trigger
- 26. RegExp Hilfe (funktioniert, aber brauche einen Ausschluss)
- 27. Jquery ajax php brauche Hilfe bitte
- 28. Ich brauche Hilfe Start dieses Radioprogramm
- 29. brauche Hilfe auf Achterneben für Android
- 30. brauche Hilfe Tabs für jquery Tabs Plugin
Also, was ist das Problem? –
Das Problem ist, dass OP den Code wollen;) – gbianchi
Auf einem hohen Niveau (da es keinen Code gibt, um in der Frage weiterzugehen und es ist eine sehr breite Frage), was Sie tun möchten, fängt Ausnahmen von Ihrem Datenzugriffscode und Behandeln Sie diese Ausnahmen, indem Sie einen benutzerfreundlichen Fehler in der Benutzeroberfläche anzeigen. Weitere Informationen finden Sie hier: http://msdn.microsoft.com/en-us/library/ms173160.aspx – David