Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2000 Forums
 SQL Server Development (2000)
 Arithmetic overflow error

Author  Topic 

Incognito
Starting Member

49 Posts

Posted - 2002-09-18 : 03:42:18
Hello,

I know there are a lot of articles around this subject: believe me I tried it all out, with no succes.

It is about an SP link with an ASP page:

The ASP code:

<%
set Command1 = Server.CreateObject("ADODB.Command")
Command1.ActiveConnection = MM_connMSIS_STRING
Command1.CommandText = "dbo.spKlantToevoegen"
Command1.Parameters.Append Command1.CreateParameter("@RETURN_VALUE", 3, 4)
Command1.Parameters.Append Command1.CreateParameter("@Aanmaakdatum", 200, 1,50,Command1__Aanmaakdatum)
Command1.Parameters.Append Command1.CreateParameter("@Website", 200, 1,50,Command1__Website)
Command1.Parameters.Append Command1.CreateParameter("@BTWnummer", 200, 1,50,Command1__BTWnummer)
Command1.Parameters.Append Command1.CreateParameter("@BedrijfsgrootteID", 3, 1,4,Command1__BedrijfsgrootteID)
Command1.Parameters.Append Command1.CreateParameter("@BrancheID", 3, 1,4,Command1__BrancheID)
Command1.Parameters.Append Command1.CreateParameter("@OrganisatiesoortID", 3, 1,4,Command1__OrganisatiesoortID)
Command1.Parameters.Append Command1.CreateParameter("@OrganisatietypeID", 3, 1,4,Command1__OrganisatietypeID)
Command1.Parameters.Append Command1.CreateParameter("@VertegenwoordigerID", 3, 1,4,Command1__VertegenwoordigerID)
Command1.Parameters.Append Command1.CreateParameter("@Provincie", 200, 1,50,Command1__Provincie)
Command1.Parameters.Append Command1.CreateParameter("@Fax", 200, 1,50,Command1__Fax)
Command1.Parameters.Append Command1.CreateParameter("@Email", 200, 1,50,Command1__Email)
Command1.Parameters.Append Command1.CreateParameter("@Telefoon", 200, 1,50,Command1__Telefoon)
Command1.Parameters.Append Command1.CreateParameter("@Firmanaam", 200, 1,50,Command1__Firmanaam)
Command1.Parameters.Append Command1.CreateParameter("@KlantnummerMultihandel", 200, 1,50,Command1__KlantnummerMultihandel)
Command1.Parameters.Append Command1.CreateParameter("@KlantnummerMASM", 200, 1,50,Command1__KlantnummerMASM)
Command1.Parameters.Append Command1.CreateParameter("@Land", 200, 1,50,Command1__Land)
Command1.Parameters.Append Command1.CreateParameter("@Plaats", 200, 1,50,Command1__Plaats)
Command1.Parameters.Append Command1.CreateParameter("@Postcode", 200, 1,50,Command1__Postcode)
Command1.Parameters.Append Command1.CreateParameter("@Adresnummer", 200, 1,50,Command1__Adresnummer)
Command1.Parameters.Append Command1.CreateParameter("@Adres", 200, 1,50,Command1__Adres)
Command1.Parameters.Append Command1.CreateParameter("@Soortadres", 200, 1,50,Command1__Soortadres)
Command1.Parameters.Append Command1.CreateParameter("@Gewijzigddoor", 200, 1,50,Command1__Gewijzigddoor)
Command1.Parameters.Append Command1.CreateParameter("@Laatstewijziging", 200, 1,50,Command1__Laatstewijziging)
Command1.Parameters.Append Command1.CreateParameter("@SysteemStatus", 200, 1,50,Command1__SysteemStatus)
Command1.Parameters.Append Command1.CreateParameter("@IP", 200, 1,50,Command1__IP)
Command1.Parameters.Append Command1.CreateParameter("@BUID", 3, 1,4,Command1__BUID)
Command1.CommandType = 4
Command1.CommandTimeout = 0
Command1.Prepared = true
Command1.Execute()
%>

The SP:

CREATE PROCEDURE spKlantToevoegen

(@Aanmaakdatum nvarchar(50),
@Website nvarchar(50),
@BTWnummer nvarchar(50),
@BedrijfsgrootteID int,
@BrancheID int,
@OrganisatiesoortID int,
@OrganisatietypeID int,
@VertegenwoordigerID int,
@Provincie nvarchar(50),
@Fax nvarchar(50),
@Email nvarchar(50),
@Telefoon nvarchar(50),
@Firmanaam nvarchar(50),
@KlantnummerMultihandel nvarchar(50),
@KlantnummerMASM nvarchar(50),
@Land nvarchar(50) ,
@Plaats nvarchar(50),
@Postcode nvarchar(50),
@Adresnummer nvarchar(50),
@Adres nvarchar(50),
@Soortadres nvarchar(50),
@Gewijzigddoor nvarchar(50),
@Laatstewijziging nvarchar(50),
@SysteemStatus nvarchar(50),
@IP nvarchar(50),
@BUID int)

AS

DECLARE @FirmaID bigint,
@aanm datetime,
@wijz datetime

select @aanm=convert(datetime, @aanmaakdatum, 105)
select @wijz=convert(datetime, @laatstewijziging, 105)




INSERT INTO Klanten(KlantnummerMASM, Firmanaam, Telefoon, Fax, Email, Provincie, OrganisatiesoortID,
BrancheID, BedrijfsgrootteID, BTWnummer, Website, Aanmaakdatum, Gewijzigddoor, Laatstewijziging, SysteemStatus, IP)
VALUES(@KlantnummerMASM, @Firmanaam, @Telefoon, @Fax,@Email, @Provincie, @OrganisatiesoortID,
@BrancheID, @BedrijfsgrootteID, @BTWnummer, @Website, @Aanm, @Gewijzigddoor, @wijz, @SysteemStatus, @IP)

SELECT @FirmaID = @@identity



INSERT INTO Klantadressen(FirmaID, Soortadres, Adres, Adresnummer, Postcode,
Plaats, Land, Gewijzigddoor, Laatstewijziging, SysteemStatus, IP,BUID)
VALUES (@FirmaID, @Soortadres, @Adres, @Adresnummer, @Postcode,
@Plaats, @Land, @Gewijzigddoor, @wijz, @SysteemStatus, @IP,@BUID)


INSERT INTO KlantOrganisatiesoort(FirmaID, OrganisatiesoortID,
Gewijzigddoor, Laatstewijziging, SysteemStatus, IP)
VALUES (@FirmaID, @OrganisatiesoortID,
@Gewijzigddoor, @wijz, @SysteemStatus, @IP)


INSERT INTO KlantMultihandel(FirmaID,Multihandelnummer,
Gewijzigddoor, Laatstewijziging, SysteemStatus, IP)
VALUES (@FirmaID, @KlantnummerMultihandel,
@Gewijzigddoor, @wijz, @SysteemStatus, @IP)
INSERT INTO KlantOrganisatietype(FirmaID,OrganisatietypeID,
Gewijzigddoor, Laatstewijziging, SysteemStatus, IP)
VALUES (@FirmaID, @OrganisatietypeID,
@Gewijzigddoor, @wijz, @SysteemStatus, @IP)

INSERT INTO KlantVertegenwoordiger(FirmaID,MedewerkerID,
Gewijzigddoor, Laatstewijziging, SysteemStatus, IP)
VALUES (@FirmaID, @VertegenwoordigerID,
@Gewijzigddoor, @wijz, @SysteemStatus, @IP)



RETURN @FirmaID
GO

The Error message:

Microsoft OLE DB Provider for ODBC Drivers error '80040e57'

[Microsoft][ODBC SQL Server Driver][SQL Server]Arithmetic overflow error converting expression to data type int.

/msis/Klanten/Invoeren/bevestigen.asp, line 146

line: 146 = Command1.Execute()

I hope you can help me.


Thnx,

GIA


AndrewMurphy
Master Smack Fu Yak Hacker

2916 Posts

Posted - 2002-09-18 : 09:03:28
2 approaches.....

can you print the contents of "command1"?...before you execute it.
then cut/paste same into QA...may highlight the mistake....

you may have left out a quote on a string....(or are not coping with quotes properly)


2nd...can you make all the parameters in the SP have default values of null or something innocent just to test it receives in some values...(you can comment out the actual insert stuff....i think you're failing before it even gets to the inserts)

and then start with all parameters commented out (in the asp code) and repeatedly increase the asp code to pass in 1 more parameter each time and execute the command1 statement....that way you can track down the specific parameter which is causing you the problem....

Go to Top of Page
   

- Advertisement -