Avatar billede jimgordon Nybegynder
17. december 2006 - 11:06 Der er 1 løsning

OleDbException - oversættelse af fejlkoder

Nedenstående snippet fra MSDN viser hvordan man kan dissikere en OleDbException. Jeg mangler dog en oversættelse af fejlkoderne.

Jeg vil gerne fange en specifik OleDbException på den fejlkode (nativeerror eller sqlstate??). Jeg får en besked i 'Message', der plejer at være ganske signende for en udvikler, men som ikke kan præsenteres for en slutbruger.

En OleDbException kan kastes af mange årsager, jeg vil have en talkode som jeg kan oversætte. På SQL Serveren kan man i dens dokumentation finde disse koder og deres betydning. OleDb er selvf. meget mere generisk, men der må finde en eksisterende kode evt. for MS Access som jeg bruger her. At begynde at søge i exception.Errors[i].Message er udelukket da den er sprogstyret af regional settings.

public void DisplayOleDbErrorCollection(OleDbException exception)
{
    for (int i = 0; i < exception.Errors.Count; i++)
    {
        Console.WriteLine("Index #" + i + "\n" +
            "Message: " + exception.Errors[i].Message + "\n" +
            "Native: " + exception.Errors[i].NativeError.ToString() + "\n" +
            "Source: " + exception.Errors[i].Source + "\n" +
            "SQL: " + exception.Errors[i].SQLState + "\n");
    }
    Console.ReadLine();
Avatar billede jimgordon Nybegynder
17. december 2006 - 11:46 #1
Det er SQLState der indeholder fejlkoden, den kan blive oversat i Access (ctrl g) skriv ?AccessError(nr), hvor nr er SqlState.

fandt listen her http://www.access-programmers.co.uk/forums/showthread.php?t=49066
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester