Hello M. Mudassar
Thank you in advance for your interest in my question.
I've sp :
ALTER PROCEDURE dbo.FileUpload
(
@Filename nvarchar(250),
@FilePath nvarchar(250),
@IDPersonne BigInt,
@FileId int OUTPUT
)
AS
SET NOCOUNT ON
INSERT INTO FilesUpload
(FileName,FilePath,IDPersonne)
VALUES (@FileName,@FilePath,@IDPersonne)
SELECT @FileId = SCOPE_IDENTITY()
RETURN @FileId
and in my c# to insert :
protected void btnUpload_Click(object sender, EventArgs e)
{
SqlCommand cmd = new SqlCommand("FileUpload", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@FileId", SqlDbType.BigInt);
cmd.Parameters["@FileId"].Direction = ParameterDirection.Output;
cmd.Connection.Open();
string filename = Path.GetFileName(fileUpload1.PostedFile.FileName);
if (System.IO.File.Exists(Server.MapPath("Files/" + Request.QueryString["IDP"] + "_" + filename)))
{
Label1.Text = "File Name already exists!";
return;
}
else
{
fileUpload1.SaveAs(Server.MapPath("Files/" + Request.QueryString["IDP"] + "_" + filename));
}
cmd.Parameters.AddWithValue("@FileName", Request.QueryString["IDP"] + "_" + filename);
cmd.Parameters.AddWithValue("@FilePath", "Files/" + Request.QueryString["IDP"] + "_" + filename);
cmd.Parameters.AddWithValue("@IDPersonne", Request.QueryString["IDP"]);
cmd.ExecuteScalar();
string p = cmd.Parameters["@FileId"].Value.ToString();
Label2.Text = "Record inserted successfully. ID = " + p;
con.Close();
BindGridviewData();
}
Everything works fine like this but i would like use the parameter output to do this when i want named the upload file like thiis :
cmd.Parameters.AddWithValue("@FileName", Request.QueryString["IDP"] + p + "_" + filename);
cmd.Parameters.AddWithValue("@FilePath", "Files/" + Request.QueryString["IDP"]
+ p + "_" + filename);
How to do this ?
I'm not a progammer.
Thank you, thank you and thank you !