CREATE PROCEDURE Ist_SendInfo
    @InfoStr char(1),
    @CarbrandId char(6),
    @SendInfo char(32),
    @Phone char(11),
    @Dtime smalldatetime,
    @CarIdTab char(10)
 
ASDeclare @intErrorCode int,
        @C charSelect @intErrorCode=@@ErrorIf @intErrorCode=0
BEGIN TRANSACTIONIf @intErrorCode=0 
Begin
    
If @InfoStr='1'
Begin
    Select @SendInfo='密码修改成功!'
    Insert Send_Db( Carbrand_Id,Send_No,Send_Info,Send_time)                            
    Values (@CarbrandId,@Phone,@SendInfo,GETDATE())
    Select @intErrorCode=@@Error
End    
    
If @InfoStr='2'
Begin
    Select @SendInfo='您的车辆报警!'
    Insert Send_Db( Carbrand_Id,Send_No,Send_Info,Send_time)                            
    Values (@CarbrandId,@Phone,@SendInfo,GETDATE())
    Select @intErrorCode=@@Error   
End
    
If @InfoStr='6'
    Begin
    Select @C=CarbrandId From Insecpt_Db Where CarbrandId=@CarbrandId    
    If @C=Null
        Begin
          Select @CarIdTab=@CarbrandId + '_tab'
         select Gps_Guide + Gps_Abnomity + Gps_Trend + Gps_Career
          from (Select Gps_Guide,Gps_Abnomity,Gps_Trend,Gps_Career 
          From Gps_Db Where Gps_Datetime=@Dtime) as c
          Insert Send_Db(Carbrand_Id,Send_No,Send_Info,Send_time)                           
          Values (@CarbrandId,@Phone,@SendInfo,GETDATE())
          Select @intErrorCode=@@Error  
        End        
        
    EndEndIf @intErrorCode=0
    COMMIT TRANSACTION     
Else
    ROLLBACK TRANSACTION
GO

解决方案 »

  1.   

    1、在 Where Gps_Datetime=@Dtime 后面加上) as c
    2、Insert Send_Db  后面 将全角字符(改为半你字符(另外
             select Gps_Guide + Gps_Abnomity + Gps_Trend + Gps_Career
              from (Select Gps_Guide,Gps_Abnomity,Gps_Trend,Gps_Career 
              From Gps_Db Where Gps_Datetime=@Dtime) as c
    可以改为
             select Gps_Guide + Gps_Abnomity + Gps_Trend + Gps_Career
              From Gps_Db Where Gps_Datetime=@Dtime
      

  2.   

    select a.Gps_Guide + a.Gps_Abnomity + a.Gps_Trend + a.Gps_Career
              from (Select Gps_Guide,Gps_Abnomity,Gps_Trend,Gps_Career 
              From Gps_Db Where Gps_Datetime=@Dtime) a
     exec('         Insert Send_Db (Carbrand_Id,Send_No,Send_Info,Send_time)                           
              Values ('+convert(varchar(30),@CarbrandId)+','+convert(varchar(30),@Phone)+','+convert(varchar(30),@SendInfo)+','+convert(varchar(30),GETDATE())+')')
      

  3.   


    CREATE PROCEDURE Ist_SendInfo
        @InfoStr char(1),
        @CarbrandId char(6),
        @SendInfo char(32),
        @Phone char(11),
        @Dtime smalldatetime,
        @CarIdTab char(10)
     
    ASDeclare @intErrorCode int,
            @C charSelect @intErrorCode=@@ErrorIf @intErrorCode=0
    BEGIN TRANSACTION
    Begin
        
    If @InfoStr='1'
    Begin
        Select @SendInfo='密码修改成功!'
        Insert Send_Db( Carbrand_Id,Send_No,Send_Info,Send_time)                            
        Values (@CarbrandId,@Phone,@SendInfo,GETDATE())
        Select @intErrorCode=@@Error
    End    
        
    If @InfoStr='2'
    Begin
        Select @SendInfo='您的车辆报警!'
        Insert Send_Db( Carbrand_Id,Send_No,Send_Info,Send_time)                            
        Values (@CarbrandId,@Phone,@SendInfo,GETDATE())
        Select @intErrorCode=@@Error   
    End
        
    If @InfoStr='6'
        Begin
        Select @C=CarbrandId From Insecpt_Db 
    Where CarbrandId=@CarbrandId    
        If @C is Null
            Begin
              Select @CarIdTab=@CarbrandId + '_tab'
              select Gps_Guide + Gps_Abnomity + Gps_Trend + Gps_Career
              from Gps_Db 
    Where Gps_Datetime=@Dtime
      Insert Send_Db(Carbrand_Id,Send_No,Send_Info,Send_time)                           
              Values (@CarbrandId,@Phone,@SendInfo,GETDATE())
              Select @intErrorCode=@@Error  
            End        
            
        EndEndIf @intErrorCode=0
        COMMIT TRANSACTION     
    Else
        ROLLBACK TRANSACTION
    GO