Hi
I have article.aspx page that there is some Textboxs and fileupload control and Btninsert
when users click on btnInsert their data insert into database below is Behindcode
protected void btnInsert_Click1(object sender, ImageClickEventArgs e)
{
string path = Server.MapPath(".") + "\\../image/House/article/pdf\\";
string filename = System.IO.Path.GetFileName(fuppdf.PostedFile.FileName);
string[] validext = { ".pdf" };
string ext = System.IO.Path.GetExtension(fuppdf.PostedFile.FileName);
if (Array.IndexOf(validext, ext.ToLower()) < 0)
{
lblpdf.Text = "* please upload .pdf files.";
return;
}
while (System.IO.File.Exists(path + "\\" + filename))
{
filename = "1" + filename;
}
SqlCommand _cmd = new SqlCommand("Fileuppdf", _cn);
_cmd.CommandType = CommandType.StoredProcedure;
string data = Server.UrlDecode(Request.QueryString["BehCode"]);
_cn.Open();
_cmd.Parameters.AddWithValue("@pdf", filename);
_cmd.Parameters.AddWithValue("@Behcode", data);
_cmd.Parameters.AddWithValue("@id", Convert.ToInt32(ViewState["Id"]));
object o = _cmd.ExecuteScalar();
int ID = (o != null && o != DBNull.Value) ? Convert.ToInt32(o) : 0;
if (ID > 0)
{
ViewState["Id"] = ID.ToString();
if (fuppdf.HasFile)
{
try
{
if (fuppdf.PostedFile.ContentLength < 102400)
{
fuppdf.PostedFile.SaveAs(Server.MapPath("~/image/house/article/image") + System.IO.Path.DirectorySeparatorChar + fuppdf.PostedFile.FileName);
lblpdf.Text = "your file has been upload.";
}
else
{
lblpdf.Text = "Convert.ToString(fuppdf.PostedFile.ContentLength / 1024) + " please insert less than 100KB ";
return;
}
}
catch (Exception ex)
{
lblpdf.Text = "Some problem occurred while uploading the file. "
}
}
else
{
lblpdf.Text = "Please choose a file to upload.";
}
fuppdf.PostedFile.SaveAs(path + filename);
}
_cn.Close();
SqlCommand _cmd1 = new SqlCommand("insertarticle", _cn);
_cmd1.CommandType = CommandType.StoredProcedure;
_cn.Open();
_cmd1.Parameters.AddWithValue("@Name", txtarticle.Text);
_cmd1.Parameters.AddWithValue("@Description", CKEditorControl1.Text);
_cmd1.Parameters.AddWithValue("@behcode", data);
_cmd1.Parameters.AddWithValue("@id", Convert.ToInt32(ViewState["Id"]));
_cmd1.Parameters.Add("@Result", SqlDbType.NVarChar, 120);
_cmd1.Parameters["@Result"].Direction = ParameterDirection.Output;
object o1 = _cmd.ExecuteScalar();
int ID1 = (o1 != null && o1 != DBNull.Value) ? Convert.ToInt32(o1) : 0;
if (ID1 > 0)
{
ViewState["Id"] = ID1.ToString();
}
ViewState["Id"] = null;
_cn.Close();
string resultMessage = _cmd1.Parameters["@Result"].Value.ToString();
lblerrorV.Text = resultMessage;
}
when I click on btninsert button below error happen
Server Error in '/behtop website' Application.
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 1149:
Line 1150:
Line 1151: string resultMessage = _cmd1.Parameters["@Result"].Value.ToString(); Line 1152: lblerrorV.Text = resultMessage;
Line 1153:
|
SP
USE [behtop]
GO
/****** Object: StoredProcedure [dbo].[insertarticle] Script Date: 04/23/2013 21:20:04 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[insertarticle]
@Name nvarchar(30)
,@Behcode nvarchar(10)
,@Description nvarchar(max)
,@Result NVARCHAR(120) OUTPUT
,@id int =0
AS BEGIN
Declare @H_name nvarchar(30) set @H_name =(select H_name from House_info where behcode=@Behcode )
Declare @BehcodeN nvarchar(30) set @BehcodeN =(select BehcodeN from House_info where behcode=@Behcode )
IF @id > 0 AND EXISTS(SELECT behcode FROM House_article WHERE iD = @id)
BEGIN
UPDATE House_article
SET Name=@Name
,Description=@Description
,Date=GETDATE()
,H_name=@H_name
WHERE BehCode=@Behcode and ID=@id
set @Result='your article has been insert succesfuly.. '
SELECT @id
END
ELSE
BEGIN
IF (@BehcodeN='Special')
Begin
INSERT INTO House_article(
Name,Description,[Date],H_name,BehCode)
VALUES(
@Name,@description,GETDATE(),@H_name,@Behcode)
set @Result='your article has been insert succesfuly. '
end
ELSE
BEGIN
SET @Result = '*you can't insert any articel.'
END
SELECT SCOPE_IDENTITY()
END
END
why this happen?
Best regards