Link to home
Start Free TrialLog in
Avatar of riskyricky1972
riskyricky1972

asked on

Stored Procedure Call on ASP 3.0

I have the following sp from my database programmer.:
CREATE procedure up_AddIndemnitors(
@SSN varchar(9),
@FirstName varchar(30),
@LastName varchar(30),
@MiddleName varchar(30) = null,
@AddrType varchar(1) = null,
@StreetNum varchar(30),
@StreetName varchar(40),
@AptNum varchar(10) = null,
@City varchar(40),
@State varchar(2),
@Zip varchar(9),
@Generation varchar(10) = null,
@DOB datetime = null,
@Direction varchar(10) = null,  
@HomeOwn smallint = null,
@HomeLengthinmonth int = null,
@PurchasedDate datetime = null,
@CurrentMarPrice money =null,
@LoanBal money =null,
@BankName varchar(50) = null,
@ChkAcctBal money =null,
@SavAcctBal money =null,
@DriverLicense varchar(20) = null,
@Phone varchar(14) = null,
@Fax varchar(14) = null,
@indemnitorID int OUTPUT)
as

set nocount on

if datalength(ltrim(@MiddleName)) = 0 or @MiddleName=''
   begin
   set @MiddleName=Null
   end

if datalength(ltrim(@StreetName)) = 0 or @StreetName=''
   begin
   set @StreetName=Null
   end

if datalength(ltrim(@AptNum)) = 0 or @AptNum=''
   begin
   set @AptNum=Null
   end

if datalength(ltrim(@Generation)) = 0 or @Generation=''
   begin
   set @Generation=Null
   end

if datalength(ltrim(@DOB)) = 0 or @DOB=''
   begin
   set @DOB=Null
   end

if datalength(ltrim(@Direction)) = 0 or @Direction=''
   begin
   set @Direction=Null
   end

if datalength(ltrim(@PurchasedDate)) = 0 or @PurchasedDate=''
   begin
   set @PurchasedDate=Null
   end

if datalength(ltrim(@BankName)) = 0 or @BankName=''
   begin
   set @BankName=Null
   end

if datalength(ltrim(@DriverLicense)) = 0 or @DriverLicense=''
   begin
   set @DriverLicense=Null
   end

if datalength(ltrim(@Phone)) = 0 or @Phone=''
   begin
   set @Phone=Null
   end

if datalength(ltrim(@Fax)) = 0 or @Fax=''
   begin
   set @Fax=Null
   end

--081605 Per Ricky's request, only new SSN information is inserted.
if not exists(select SSN from tblIndemnitors where SSN = @SSN)
begin
Insert into tblIndemnitors ( SSN, FirstName, LastName, MiddleName, AddrType, StreetNum,
StreetName, AptNum, City, State, Zip, Generation, DOB, Direction, HomeOwn, HomeLengthinmonth, PurchasedDate, CurrentMarPrice, LoanBal, BankName, ChkAcctBal, SavAcctBal, DriverLicense, Phone, fax)
Values (@SSN, @FirstName, @LastName, @MiddleName, @AddrType, @StreetNum, @StreetName,
@AptNum, @City, @State, @Zip, @Generation, @DOB, @Direction , @HomeOwn, @HomeLengthinmonth, @PurchasedDate, @CurrentMarPrice,
@LoanBal, @BankName, @ChkAcctBal, @SavAcctBal, cast(@DriverLicense as varchar(20)), cast(@Phone as varchar(14)), cast(@Fax as varchar(14)))

--select IndemnitorID from tblIndemnitors where IndemnitorID = @@identity
select @indemnitorID = @@identity
--return
end

else

begin
set @indemnitorID = (select IndemnitorID from tblIndemnitors where SSN = @SSN)
end

'///////////////////////////////////////////////////////////////////////////////////////////////////////////////

and following asp, it does not work and it points to execute line. any idea?

set objCmd = Server.CreateObject("Adodb.Command")
             
             with objCmd
                         .ActiveConnection = conBMS
                         .CommandText = "up_AddIndemnitors"
                         .CommandType = adCmdStoredProc
                         .Parameters.Append .CreateParameter("@ssn",adVarChar,adParamInput,9,ssn)
                         .Parameters.Append .CreateParameter("@FirstName",adVarChar,adParamInput,30,fname)
                         .Parameters.Append .CreateParameter("@LastName",adVarChar,adParamInput,30,lname)
                         .Parameters.Append .CreateParameter("@MiddleName",adVarChar,adParamInput,30,mname)
                         .Parameters.Append .CreateParameter("@AddrType",adVarChar,adParamInput,1,"P")
                         .Parameters.Append .CreateParameter("@StreetNum",adVarChar,adParamInput,50,streetnum)
                         .Parameters.Append .CreateParameter("@StreetName",adVarChar,adParamInput,40,streetname)
                         .Parameters.Append .CreateParameter("@AptNum",adVarChar,adParamInput,10,aptnum)
                         .Parameters.Append .CreateParameter("@City",adVarChar,adParamInput,40,city)
                         .Parameters.Append .CreateParameter("@State",adVarChar,adParamInput,2,state)
                         .Parameters.Append .CreateParameter("@Zip",adVarChar,adParamInput,9,zip)
                         .Parameters.Append .CreateParameter("@Generation",adVarChar,adParamInput,10,suffix)
                         .Parameters.Append .CreateParameter("@DOB",adVarChar,adParamInput,10,"01/01/2005")
                         .Parameters.Append .CreateParameter("@Direction",adVarChar,adParamInput,10,NULL)
                          '//////////////////////////////////////////////////////////////////////////////////////////
                         .Parameters.Append .CreateParameter("@HomeOwn",adsmallint,adParamInput,1,NULL)
                         .Parameters.Append .CreateParameter("@HomeLengthinmonth",adinteger,adParamInput,1,NULL)
                         .Parameters.Append .CreateParameter("@PurchasedDate",adDBTimeStamp,adParamInput,10,NULL)
                         .Parameters.Append .CreateParameter("@CurrentMarPrice",adDouble,adParamInput,10,NULL)
                         .Parameters.Append .CreateParameter("@LoanBal",adDouble,adParamInput,10,null)
                         .Parameters.Append .CreateParameter("@BankName",adVarChar,adParamInput,50,null)
                         .Parameters.Append .CreateParameter("@ChkAcctBal",adDouble,adParamInput,10,null)
                         .Parameters.Append .CreateParameter("@SavAcctBal",adDouble,adParamInput,10,null)
                         .Parameters.Append .CreateParameter("@DriverLicense",adVarChar,adParamInput,10,null)
                         .Parameters.Append .CreateParameter("@Phone",adVarChar,adParamInput,12,null)
                         .Parameters.Append .CreateParameter("@Fax",adVarChar,adParamInput,12,null)
                         '/////////////////////////////////////////////////////////////////////////////////////////
                         
                         'HomeOwn, HomeLengthinmonth, PurchasedDate, CurrentMarPrice, LoanBal, BankName, ChkAcctBal,
                         'SavAcctBal, DriverLicense, Phone, fax
                                     'rdohomeyn,totalinmonth,txtpurchaseddate,txtmarketprice,txtloanbalance,txtbank,txtcheckingbalance,txtsavingbalance
                         '*******************************************************************************************
                         'output parameter
                         .Parameters.Append .CreateParameter("@indemnitorID",adInteger,adParamOutput, ,0)
                                     .Execute ,, adExecuteNoRecords
                         IndemnitorID = .Parameters("@indemnitorID")
                         InsertIndemnitor=IndemnitorID
                         '*******************************************************************************************
             end with
Avatar of Anthony Perkins
Anthony Perkins
Flag of United States of America image

>>and following asp, it does not work and it points to execute line. any idea?<<
You have a number of errors when you declare the parameters.  At least make the following changes:

.Parameters.Append .CreateParameter("@ssn",adVarChar,adParamInput,9,ssn)
.Parameters.Append .CreateParameter("@FirstName",adVarChar,adParamInput,30,fname)
.Parameters.Append .CreateParameter("@LastName",adVarChar,adParamInput,30,lname)
.Parameters.Append .CreateParameter("@MiddleName",adVarChar,adParamInput,30,mname)
.Parameters.Append .CreateParameter("@AddrType",adVarChar,adParamInput,1,"P")
.Parameters.Append .CreateParameter("@StreetNum",adVarChar,adParamInput,30,streetnum)         ' <-- Change this to 30
.Parameters.Append .CreateParameter("@StreetName",adVarChar,adParamInput,40,streetname)
.Parameters.Append .CreateParameter("@AptNum",adVarChar,adParamInput,10,aptnum)
.Parameters.Append .CreateParameter("@City",adVarChar,adParamInput,40,city)
.Parameters.Append .CreateParameter("@State",adVarChar,adParamInput,2,state)
.Parameters.Append .CreateParameter("@Zip",adVarChar,adParamInput,9,zip)
.Parameters.Append .CreateParameter("@Generation",adVarChar,adParamInput,10,suffix)
.Parameters.Append .CreateParameter("@DOB",adDBTimeStamp,adParamInput,10,"2005-01-01")     ' Change the data type to adDBTimeStamp, the size to 8 and the date format
.Parameters.Append .CreateParameter("@Direction",adVarChar,adParamInput,10,NULL)
'//////////////////////////////////////////////////////////////////////////////////////////
.Parameters.Append .CreateParameter("@HomeOwn",adsmallint,adParamInput,2,NULL)      ' Change the size to 2
.Parameters.Append .CreateParameter("@HomeLengthinmonth",adinteger,adParamInput,1,NULL)    ' Change the size to 4
.Parameters.Append .CreateParameter("@PurchasedDate",adDBTimeStamp,adParamInput,8,NULL) ' Change the size to 8
.Parameters.Append .CreateParameter("@CurrentMarPrice",adCurrency,adParamInput,8,NULL)   'Change the data type to adCurrency and the size to 8
.Parameters.Append .CreateParameter("@LoanBal",adCurrency ,adParamInput,8,null)  'Change the data type to adCurrency and the size to 8
.Parameters.Append .CreateParameter("@BankName",adVarChar,adParamInput,50,null)
.Parameters.Append .CreateParameter("@ChkAcctBal",adCurrency ,adParamInput,10,null) 'Change the data type to adCurrency and the size to 8
.Parameters.Append .CreateParameter("@SavAcctBal",adCurrency ,adParamInput,10,null) 'Change the data type to adCurrency and the size to 8
.Parameters.Append .CreateParameter("@DriverLicense",adVarChar,adParamInput,20,null) 'Change the size to 20
.Parameters.Append .CreateParameter("@Phone",adVarChar,adParamInput,14,null)  'Change the size to 14
.Parameters.Append .CreateParameter("@Fax",adVarChar,adParamInput,14,null) 'Change the size to 14
.Parameters.Append .CreateParameter("@indemnitorID",adinteger,adParamOutput,4) 'Add this output parameter

There may be more changes required, but without any error message, I can only guess.  

Note: Please do not respond with: "It did not work" and nothing else or I will not bother to give any additional feedback.
ASKER CERTIFIED SOLUTION
Avatar of Anthony Perkins
Anthony Perkins
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial