Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不在表中插入值_C#_Sql_Asp.net_Stored Procedures_Sqlcommand - Fatal编程技术网

C# 不在表中插入值

C# 不在表中插入值,c#,sql,asp.net,stored-procedures,sqlcommand,C#,Sql,Asp.net,Stored Procedures,Sqlcommand,我已经编写了一个用于在表中插入值的存储过程。请参阅SP以供参考:- ALTER PROCEDURE [dbo].[AddingpagesinGrid] (@page_title NVARCHAR(100), @page_description NVARCHAR(max), @meta_title NVARCHAR(255),

我已经编写了一个用于在表中插入值的存储过程。请参阅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) 
作为 开始 不计数

  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\u title”,但未提供该参数。

我认为您忘记设置,并且您的程序认为您的
“AddingPagesInGrid”
命令类型的默认值

只需添加

cmd.CommandType = CommandType.StoredProcedure;
并用于处理
SqlConnection
SqlCommand

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

}
请不要使用
AddWithValue
方法。有时可能会产生意想不到的结果。使用方法或其重载


阅读:

什么是
txtPageTitle.Text
?内容是指数据类型?不,是指内容。它保存的值。这些值采用文本格式Use CommandType=CommandType.StoredProcess;我在“var cmd=new SqlCommand”(“AddingPagesInGrid”,conn);”这一行之后添加了现在我发现错误,因为过程或函数“AddingPagesInGrid”需要参数“@Active”,但未提供该参数。您能描述一下吗please@RahulSutar您的存储过程有一个名为
@Active
的参数,但您的
SqlCommand
没有该参数。@RahulSutar您始终可以先阅读文档。比如,
cmd.Parameters.Add(“@page\u title”,SqlDbType.NVarChar).Value=txtPageTitle.Text