Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
SQL Stored Procedure
Message
De
26/07/2010 15:30:50
Andy Roth
Neyenesch Printers
Californie, États-Unis
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
01473624
Message ID:
01473965
Vues:
25
Not sure that is the problem

Odd thing is if I run this in Query Analyzer of SQL 2005 and entered the dates as '06/01/2010' and '06/30/2010'
for both conditions it runs fine on the same data.

But running it as a Stored Procedure or using it in a foxpro 9 form
and SQLEXEC(gnConnect,"exec get_invoices ?ldStartDate,?ldEndDate",'jobcost')
they both fail

I used this same exact code in foxpro 6 and SQL 2000 and it ran perfectly.




>Your WHERE conditions contradict LEFT JOIN to arjobtax and bbjthead. You either don't need LEFT JOIN or WHERE conditions should be moved into LEFT JOIN for corresponding table.
>
>>I tried your suggestion.
>>Problem I ma having is the SP works fine in SQL 2000 but now is not in 2005
>>
>>Here's what I am running in SQL 2005 as parameters
>>GO
>>
>>DECLARE @return_value int
>>
>>EXEC @return_value = [dbo].[get_invoices]
>> @ldStartDate = '06/01/2010',
>> @ldEndDate = '06/30/2010'
>>
>>SELECT 'Return Value' = @return_value
>>
>>GO
>>
>>Here is what is being returned?
>>
>>Msg 0, Level 11, State 0, Line 0
>>A severe error occurred on the current command. The results, if any, should be discarded.
>>Msg 0, Level 20, State 0, Line 0
>>A severe error occurred on the current command. The results, if any, should be discarded.
>>
>>
>>I had thisin the foxpro program but it did not run
>>If I take out the OR in the Where and remove one of the conditions it works
>>If I remove the other condition is works.
>>If I have them both in the foxpro program it does not
>>So I decided to make and SQL SP.
>>It works fin in SQL 2000 but in 2005 it does not.
>>
>>I'm stumped
>>
>>
>>This is the complete SP
>>
>
>Alter   PROCEDURE get_invoices 
>>/*Create  PROCEDURE get_invoices*/
>>	@ldStartDate DateTime,
>>	@ldEndDate DateTime
>>AS
>>
>>SELECT arjobhd.custno,
>>       arjobhd.customer, 
>>       ISNULL(ssslsman.salespn,'') as salespn,  
>>       arjobhd.transtype,       
>>       arjobtax.taxcode,            
>>       IsNull(arjobhd.invno,0) as invno,  
>>       arjob.ljob,  
>>       bbjthead.id,  
>>       ISNULL(SUM(arjob.price),0) as invoice,  
>>       ISNULL(SUM(arjob.frtamt),0) as freight,  
>>       CAST(00.00 AS decimal(10,2)) as tax,  
>>       CAST(00.00 AS decimal(10,2)) as cost_lab,  
>>       CAST(00.00 AS decimal(10,2)) as cost_mat,  
>>       CAST(00.00 AS decimal(10,2)) as cost_fin,  
>>       CAST(00.00 AS decimal(10,2)) as cost_pur,  
>>       CAST(00.00 AS decimal(10,2)) as Totcost,  
>>       CAST(00.00 AS decimal(10,2)) as TotInv,  
>>       CAST(00.00 AS decimal(10,2)) as profper  
>>       FROM arjobhd  
>>       LEFT JOIN arjob on arjobhd.invno=arjob.invno  
>>       LEFT JOIN arjobtax on arjobhd.invno=arjobtax.invno  
>>       LEFT JOIN bbjthead on bbjthead.ljob=arjob.ljob  
>>       LEFT JOIN ssslsman on arjobhd.salespnno=ssslsman.salespnno  
>>       WHERE  
>>       (  bbjthead.closedate  between @ldstartdate and @ldenddate 
>>          AND arjobhd.invdate IS NOT NULL 
>>          AND bbjthead.closedate >= arjobhd.invdate ) 
>>       OR 
>>       (  arjobhd.invdate between @ldstartdate and @ldenddate 
>>          AND bbjthead.closedate IS NOT NULL 
>>          AND invdate >= bbjthead.closedate ) 
>>       Group by arjobhd.custno,  
>>                arjobhd.customer, 
>>                ssslsman.salespn,              
>>                arjobhd.transtype,   
>>                arjobtax.taxcode,          
>>                arjobhd.invno, 
>>                arjob.ljob, 
>>                bbjthead.id 
>>      ORDER by arjob.ljob, arjobhd.invno
>>
>>
>
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform