2014-11-24 3 views
-1

테이블에 값을 삽입하기 위해 저장 프로 시저를 작성했습니다. 당신의 참조를 위해 SP를 참조하십시오 : -테이블에 값을 삽입하지 않음

ALTER PROCEDURE [dbo].[AddingpagesinGrid] (@page_title  NVARCHAR(100), 
           @page_description NVARCHAR(max), 
           @meta_title  NVARCHAR(255), 
           @meta_keywords NVARCHAR(255), 
           @meta_description NVARCHAR(1000), 
           @Active   BIT) 

이 AS NOCOUNT ON SET를 BEGIN; END

BEGIN 
     INSERT INTO [tbl_pages] 
        ([page_title], 
        [page_description], 
        [meta_title], 
        [meta_keywords], 
        [meta_description], 
        [active]) 
     VALUES  (@page_title, 
        @page_description, 
        @meta_title, 
        @meta_keywords, 
        @meta_description, 
        @Active) 
    END 

    SELECT [page_title], 
     [page_description], 
     [meta_title], 
     [meta_keywords], 
     [meta_description], 
     [active] 
    FROM tbl_pages 

또한 코드 숨김 참조

이동 : -

protected void btnAdd_Click(object sender, EventArgs e) 
    { 
     conn.Open(); 
     var cmd = new SqlCommand("AddingPagesInGrid", conn); 
     cmd.Parameters.AddWithValue("@page_title", txtPageTitle.Text); 
     cmd.Parameters.AddWithValue("@page_description", txtPagedesc.Text); 
     cmd.Parameters.AddWithValue("@meta_title", txtmetatitle.Text); 
     cmd.Parameters.AddWithValue("@meta_keywords", txtMetakeywords.Text); 
     cmd.Parameters.AddWithValue("@meta_description", ddlActiveInactive.SelectedIndex); 
     cmd.ExecuteNonQuery(); 
     conn.Close(); 
     ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('User details saved sucessfully');window.location ='csrpage.aspx';", true); 
    } 

가 노력하고

"절차 또는 함수로 나에게 오류를 제공하지 않습니다 'AddingPagesInGrid'는 제공되지 않은 '@page_title'매개 변수를 필요로합니다. . "

+0

'txtPageTitle.Text'의 내용은 무엇입니까? – CodeCaster

+0

내용은 데이터 유형을 의미합니까? –

+0

아니요, 콘텐츠. 보유하고있는 가치. – CodeCaster

답변

1

은 당신이 설정하는 것을 잊지 생각하여 CommandType property 및 프로그램이 생각하는 당신의 "AddingPagesInGrid"CommandType의 기본값 인 Text

로 그냥 추가;.

cmd.CommandType = CommandType.StoredProcedure; 

을하고 using statement를 사용 SqlConnectionSqlCommand을 처분하십시오.

using(SqlConnection conn = new SqlConnection(conString)) 
using(SqlCommand cmd = conn.CreateCommand()) 
{ 

} 

AddWithValue 방법을 사용하지 마십시오. 때로는 예기치 않은 결과가 발생할 수 있습니다. .Add 메서드를 사용하거나 과부하 상태입니다.

읽기 : Can we stop using AddWithValue() already?

+0

줄 다음에 'var cmd = new SqlCommand ("AddingPagesInGrid", conn);' –

+0

지금 ** 프로 시저 또는 함수 'AddingPagesInGrid'가 제공되지 않은 '@Active'매개 변수를 기대합니다 ** –

+0

설명해 주시겠습니까 –

관련 문제