Avatar billede lllund Nybegynder
30. november 2006 - 11:07 Der er 9 kommentarer og
1 løsning

"Specified cast is not valid"

hej

har en metode i en bdhandler der giver mig følgende fejl
"Specified cast is not valid. Problem med HentMaxKunde!"

nogen der kan se hvad der er galt og evt give lille forlaring

public int GetIdTilNyKunde(){
                sqlCon = new SqlConnection(str);
                string sqlStreng = "SELECT MAX(KundeNr) FROM Kunde";
                int kundeNr = 0;
                  try{
                    sqlCon.Open();
                    SqlDataReader result;
                    sqlCmd = new SqlCommand();
                    sqlCmd.Connection = sqlCon;
                    sqlCmd.CommandText = sqlStreng;
                    result = sqlCmd.ExecuteReader();
                    result.Read();
                    kundeNr = (int)result.GetInt32(0);
                    sqlCon.Close();
                  }
                  catch (Exception e){
                    Console.WriteLine(e.Message + " Problem med HentMaxKunde!");
                  }
                return kundeNr;
            }

mvh Kasper
Avatar billede hacked Nybegynder
30. november 2006 - 11:29 #1
Brug venligst e.StackTrace istedet for e.Message.
Avatar billede hacked Nybegynder
30. november 2006 - 11:31 #2
og repost herefter din exception.
Avatar billede hacked Nybegynder
30. november 2006 - 11:32 #3
Umiddelbart vil jeg skyde på den er gal med
kundeNr = (int)result.GetInt32(0);
Avatar billede kalp Novice
30. november 2006 - 11:53 #4
Du kan evt. rette

int kundeNr = 0;

til

System.Int32 kundeNr = 0;

og

kundeNr = (int)result.GetInt32(0);

til

kundeNr = result.GetInt32(0);
Avatar billede kalp Novice
30. november 2006 - 11:54 #5
metoden skal returnere public System.Int32 GetIdTilNyKunde(){

går ud fra det må være okay siden du har gemt det i Int32 format i databasen..

ellers må du rette i databasen så det bliver en int der
Avatar billede lllund Nybegynder
30. november 2006 - 12:02 #6
ups :)

ja det var i databasen den var gal :)

hehe takker for hjælpen ..smid et svar
Avatar billede kalp Novice
30. november 2006 - 12:04 #7
Det får du her..

Det man næsten altid kan sige når man arbejder med SQL SERVER og C# er at hvad der findes i det ene findes og i det andet=)

jeg overså også int i første omgang;o)
Avatar billede arne_v Ekspert
30. november 2006 - 13:40 #8
NB: System.Int32 og int er det samme !
Avatar billede lllund Nybegynder
30. november 2006 - 13:43 #9
ja :) ..well det fungerer nu
takker
Avatar billede kalp Novice
30. november 2006 - 13:49 #10
Det kan man jo slå op og se at du har ret i...

Det gav ikke mening i første omgang da det lød som om der fandtes en int32 og en int i SQL SERVER... men kan ser der kun findes int (som så er det samme)

men så kan man jo konkludere at datatypen må have været bigint eller noget helt andet siden den ikke fungerede.

i sig selv også underordnet... datatypen var i hvertfald ukorrekt i databasen.
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

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