Avatar billede Slettet bruger
09. marts 2013 - 21:50 Der er 1 kommentar

Hjælp til Stored Procedure. Et script melder fejl

Hej eksperter,

Jeg prøver at lave nogle stored procedures som skal bruges til at indtaste data i min database.

Det databasen skal bruges til er at gemme scorekort fra en skydebane.

Min SQL kode kan I se her: http://pastebin.com/LmDVU8Wp

Jeg bruger 3 stored procedures.

En til at oprette et scorekort. I denne er der 3 kolonner. scoreNo, medlemNo samt dato. scoreNo er primary key og har IDENTITY egenskaben.

På hver scorekort er der 8 runder. Disse oprettes også i en tabel for sig selv. Her er kolonnerne rundeNo,scoreNo,resul1,resul2,resul3,resul4 samt resul5. Primary key er sammensat af rundeNo og scoreNo. scoreNo er samtidigt foreign key.

Den sidste er en storage procedure som kalder de 2 andre, for at oprette det hele i "ét" huk. Den er oprettet på sådan en måde, at hvis argumenter bliver udeladt antager den at man scorede 0 på skydebanen.

Kalder jeg de 2 første stored procedures hver for sig, og på den måde opretter det hele virker det fint. Kalder jeg den sidste får jeg en fejl:

(1 row(s) affected)
Msg 8114, Level 16, State 1, Procedure sp_opretRunde, Line 0
Error converting data type nvarchar to tinyint.
Msg 8114, Level 16, State 1, Procedure sp_opretRunde, Line 0
Error converting data type nvarchar to tinyint.
Msg 8114, Level 16, State 1, Procedure sp_opretRunde, Line 0
Error converting data type nvarchar to tinyint.
Msg 8114, Level 16, State 1, Procedure sp_opretRunde, Line 0
Error converting data type nvarchar to tinyint.
Msg 8114, Level 16, State 1, Procedure sp_opretRunde, Line 0
Error converting data type nvarchar to tinyint.
Msg 8114, Level 16, State 1, Procedure sp_opretRunde, Line 0
Error converting data type nvarchar to tinyint.
Msg 8114, Level 16, State 1, Procedure sp_opretRunde, Line 0
Error converting data type nvarchar to tinyint.
Msg 8114, Level 16, State 1, Procedure sp_opretRunde, Line 0
Error converting data type nvarchar to tinyint.

Den der går igennem er det der skal oprette scorekortet. Ingen af runderne går igennem. Jeg kan ikke gennemskue denne, da jeg ikke har nogle variabler af typen nvarchar, og alle kolonnerne i RUNDE tabellen er TINYINT.

Et eksempel på kaldet af den sidste stored procedure er:
EXECUTE sp_indtastResultat 4,3,10,3,4,5,5,2,3,6,4,1,2,3,6,5
Hvor den så bare skal antage at resten af værdierne er 0.

Nogen der ved hvorfor jeg får denne fejl?

På forhånd tak.
Avatar billede HenrikSjang Nybegynder
21. marts 2013 - 23:06 #1
hvordan ser skemaet på dine to tabeller ud? Hvilke kolonner, og hvad er deres data typer?
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
Computerworld tilbyder specialiserede kurser i database-management

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