使用QueryString并将值存储在存储过程中?

问题描述:

我正在使用ASP.NET和SQL Server 2005.使用QueryString并将值存储在存储过程中?

我知道如何创建一个存储的过程,但我不知道当我需要使用QueryString时,在存储过程中放置​​什么。在CODE

我的SQL语句=

"SELECT * FROM TableName WHERE ID = '" + Request.QueryString("ID") + "'" 

现在我应该怎么在我的存储过程的地方得到这个工作?我想调用存储过程,因此不希望在我的代码中使用此代码。

在此先感谢!

+0

如何ü乌尔调用存储过程? – 2009-10-07 10:06:15

这个问题的答案所在here

创建一个SqlCommand对象

设置在CommandText = “StoredProcName”

加上与您的存储过程的参数名称的SqlParameter的 - 将其类型

其值设置为的Request.QueryString(” ID“)

检查了这一点的完整说明:

http://support.microsoft.com/kb/306574

试试下面的代码:

SqlCommand mycommand = new SqlCommand("yourstoredproc", con); 
mycommand.CommandType = CommandType.StoredProcedure; 
mycommand.Parameters.AddWithValue("@yourparam", Request.QueryString["ID"]); 
SqlDataAdapter adapter = new SqlDataAdapter(); 
adapter.SelectCommand = mycommand; 
DataSet dataset = new DataSet(); 
adapter.Fill(dataset); 

SqlCommand cmd = new SqlCommand("storedprocedure_name",con); 
cmd.CommandType = CommandType.StoredProcedure; 
cmd.Parameters.Add("@parameter_of-procedure",Request.QueryString"ID"]); 
SqlDataAdapter adapter = new SqlDataAdapter(); 
adapter.SelectCommand = mycommand; 
DataSet dataset = new DataSet(); 
adapter.Fill(dataset); 


//using sqldatareader 
SqlCommand cmd = new SqlCommand("yourstoredproc", con); 
cmd.CommandType = CommandType.StoredProcedure; 
cmd.Parameters.Add("@parameters_of_procedure",Request.QueryString["ID"]); 
con.open() 
sqldatareader dr=cmd.executereader(); 
gridview1.datasouce=dr; 
gridview1.databind(); 
con.close(); 
+0

嗨,我没有使用gridview,我填充文本框 – Etienne 2009-10-07 10:43:35