ALTER PROCEDURE dbo.SP_InsertTicket
/*
(
@parameter1 int = 5,
@parameter2 datatype OUTPUT
)
declare @i as numeric
exec SP_InsertTicket 'asd','[email protected]','232323','dasasd','sdasdas','01-jan-2010',@i output,'sdas','sdasd','02-jan-2010'
select @i*/
@Client_FullName varchar(30),
@Client_EmailAdd varchar(50),
@Client_Telephn varchar(15),
@Ticket_Subject varchar(50),
@Ticket_Source varchar(15),
@Ticket_CreateDate Datetime,
@Ticket_Id integer output,
@Que_Message varchar(100),
@Que_Attachment varchar(max),
@Que_UpdateDate Datetime
AS
declare @TickID integer;
/* SET NOCOUNT ON */
BEGIN
INSERT INTO tbl_Ticket (Client_FullName,Client_EmailAdd,Client_Telephn,Ticket_Subject,Ticket_Source,Ticket_CreateDate)
VALUES (@Client_FullName, @Client_EmailAdd ,@Client_Telephn,@Ticket_Subject,@Ticket_Source,@Ticket_CreateDate)
Select @TickID = MAX(Ticket_Id) from tbl_Ticket
set @[email protected]
INSERT INTO tbl_TicketQuestion (Ticket_Id,Que_Message,Que_Attachment,Que_UpdateDate)
VALUES (@TickID,@Que_Message,@Que_Attachment,@Que_UpdateDate)
END
RETURN
Dieses ist mein Speicher Verfahren, in dem ich brauche ticket_id zurückzuversetzen App per E-Mail senden Es Datensätze einfügen gut in der Lage bt nicht Wert in DAL retirn Unten ist der Code für ausführen von Stored Procedure, den Wert zurückgibtAusführen von SQL Stored Procedure
public class cls_DAL
{
public cls_DAL()
{
//
// TODO: Add constructor logic here
//
}
static string strConn = System.Configuration.ConfigurationManager.ConnectionStrings["conString"].ConnectionString.ToString();
SqlConnection con = new SqlConnection(strConn);
SqlCommand cmd = new SqlCommand();
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
public int insert_NewTicket(string fullname, string emailadd, string telephone, string subject, string source, DateTime date,string Message, string attachment, DateTime updatedate)
{
try
{
con.Open();
cmd = new SqlCommand("SP_InsertTicket", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Client_FullName", fullname);
cmd.Parameters.AddWithValue("@Client_EmailAdd", emailadd);
cmd.Parameters.AddWithValue("@Client_Telephn",telephone);
cmd.Parameters.AddWithValue("@Ticket_Subject", subject);
cmd.Parameters.AddWithValue("@Ticket_Source",source);
cmd.Parameters.AddWithValue("@Ticket_CreateDate",date);
cmd.Parameters.AddWithValue("@Ticket_Id",0);
cmd.Parameters.AddWithValue("@Que_Message", Message);
cmd.Parameters.AddWithValue("@Que_Attachment", attachment);
cmd.Parameters.AddWithValue("@Que_UpdateDate",updatedate);
cmd.Parameters["@Ticket_Id"].Direction = ParameterDirection.InputOutput;
return cmd.ExecuteNonQuery();
int i = (int)cmd.Parameters["@Ticket_Id"].Value;
}
catch
{
throw;
}
finally
{
cmd.Dispose();
con.Close();
con.Dispose();
}
}
}
zu verwenden Was ist Ihre Frage? – Goran
Sie Return-Anweisung sollte nach dieser Zeile sein. int i = (int) cmd.Parameter ["@ Ticket_Id"]. Wert; – ankur
Ich brauche Ergebnis der Select-Abfrage in DAL-Klasse – hks