2016-06-15 4 views
0
ALTER PROC SP_Contact_Msg 
[email protected]_id as int, 
@Email as varchar(50), 
@txtName as varchar(50), 
@txtBody as varchar(50) 
AS 
BEGIN 

    DECLARE @Reg_Id AS INT 

    SET @Reg_Id = (SELECT TOP 1 Reg_Id FROM reg WHERE Email = @Email) 

    IF @Reg_id != NULL 
    BEGIN 
     INSERT INTO Contact (Reg_id, Email, txtName, txtBody, CreatedOn, CreatedBy, UpdatedBy, UpdatedOn, IsActive) 
     values (@Reg_id, @Email, @txtName, @txtBody, GETDATE(), 1, NULL, NULL, 1) 
    END 

    IF @Reg_id = NULL 
    BEGIN 
     INSERT INTO Contact (Reg_id, Email, txtName, txtBody, CreatedOn, CreatedBy, UpdatedBy, UpdatedOn, IsActive) 
     VALUES (null, @Email, @txtName, @txtBody, GETDATE(), 1, NULL, NULL, 1) 
    END 
END 

mir bitte helfen, dieses Verfahren nicht richtig funktioniert, wenn ich E-Mail des Register (reg) gibt Benutzer eine E-Mail seines die (reg_id) nicht nur zeigen, null zeigen , seine einzige Ausführung nur sonst Bedingunggespeicherte Prozedur Kontakt uns Tabelle in asp.net nicht richtig ausführen

+0

Was versuchen Sie zu erreichen? Es hat auch nichts mit asp.net zu tun; Kennzeichnung der entsprechenden Technologie; – techspider

+0

Welche Parameter werden kommentiert? nur @Reg_id oder alle von ihnen? Es ist nicht sehr klar wegen der Formatierung – Shago

+2

Die '! = NULL' ist wahrscheinlich ein Teil des Problems. Sollte "IST NICHT NULL" sein. – Kidiskidvogingogin

Antwort

0

enter image description here [! [Bildbeschreibung hier eingeben] [2]] [2] Ich denke, dass dieser Code Ihnen helfen würde.

create table Reg(Reg_id int identity(1,1), Email varchar(100)) 
     insert into Reg values('[email protected]') 

     create table Contact(Reg_id int, Email varchar(50), txtName varchar(100), txtBody varchar(100), CreatedOn datetime, CreatedBy varchar(30), UpdatedBy varchar(30), UpdatedOn datetime, IsActive int) 

    Create PROC SP_Contact_Msg 
    (
    [email protected]_id as int, 
    @Email as varchar(50), 
    @txtName as varchar(50), 
    @txtBody as varchar(50) 
    ) 
    AS 
    BEGIN 

     DECLARE @Reg_Id AS INT 

     SET @Reg_Id = (SELECT TOP 1 Reg_Id FROM reg WHERE Email = @Email) 

     IF (@Reg_id is not NULL) 
     BEGIN 
      INSERT INTO Contact (Reg_id, Email, txtName, txtBody, CreatedOn, CreatedBy, UpdatedBy, UpdatedOn, IsActive) 
      values (@Reg_id, @Email, @txtName, @txtBody, GETDATE(),'NULL', 'NULL', GETDATE(), 1) 
     END 

     else 
     BEGIN 
      INSERT INTO Contact (Reg_id, Email, txtName, txtBody, CreatedOn, CreatedBy, UpdatedBy, UpdatedOn, IsActive) 
      VALUES (null, @Email, @txtName, @txtBody, GETDATE(),'NULL' , 'NULL', GETDATE(), 1) 
     END 
    END 
+0

vielen Dank, es ist sehr hilfreich –

Verwandte Themen