不在表中插入值
我写了一个存储过程,用于在表中插入值。请参阅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 BEGIN SET NOCOUNT ON;
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
END
去
另请参见代码隐藏: -
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',它没有提供。“
我想你忘记设置你的CommandType
property和程序认为你"AddingPagesInGrid"
为Text
这是一个CommandType
的默认值
只需添加;
cmd.CommandType = CommandType.StoredProcedure;
并使用using
statement来处置您的SqlConnection
和SqlCommand
。
using(SqlConnection conn = new SqlConnection(conString))
using(SqlCommand cmd = conn.CreateCommand())
{
}
请不要使用AddWithValue
方法。有时可能会产生意想不到的结果使用.Add
方法或它的重载。
我在行后添加'var cmd = new SqlCommand(“AddingPagesInGrid”,conn);' – 2014-11-24 13:16:51
现在我得到的错误为**程序或函数'AddingPagesInGrid'需要参数'@Active',它没有提供。** – 2014-11-24 13:18:59
您能否描述它 – 2014-11-24 13:20:03
“txtPageTitle.Text”的内容是什么? – CodeCaster 2014-11-24 13:13:52
内容是指数据类型? – 2014-11-24 13:18:14
不,内容。它的价值。 – CodeCaster 2014-11-24 13:18:54