Problem with SqlParameter and Request.QueryStringhttp://forums.asp.net/t/1777418.aspx/1?Problem+with+SqlParameter+and+Request+QueryStringWed, 07 Mar 2012 20:03:03 -050017774184866983http://forums.asp.net/p/1777418/4866983.aspx/1?Problem+with+SqlParameter+and+Request+QueryStringProblem with SqlParameter and Request.QueryString <p><span style="text-decoration:line-through"></span>i've trying this code to display content from sqlserver database based on querystring, but get error like this : Parameterized Query '(@ContentID nvarchar(4000))select idcontent,title,intro_text fro' expects parameter @ContentID, which was not supplied.</p> <p></p> <p>what's the solution for this problem..?thanks you</p> <p><strong>code for default.aspx.cs</strong></p> <pre class="prettyprint">using System; using System.Collections; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Web.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { PopulateMenu(); } } private void PopulateMenu() { DataTable menuData = GetMenuData(); AddTopMenuItems(menuData); } private DataTable GetMenuData() { string selectCommand = &quot;SELECT * FROM menu_top&quot;; string conString = WebConfigurationManager.ConnectionStrings[&quot;MyConn&quot;].ConnectionString; SqlDataAdapter dad = new SqlDataAdapter(selectCommand, conString); DataTable dtblCategories = new DataTable(); dad.Fill(dtblCategories); return dtblCategories; } private void AddTopMenuItems(DataTable menuData) { DataView view = new DataView(menuData); view.RowFilter = &quot;ParentID IS NULL&quot;; foreach (DataRowView row in view) { MenuItem newMenuItem = new MenuItem(row[&quot;MenuTitle&quot;].ToString(), row[&quot;MenuId&quot;].ToString(), null, &quot;Default.aspx?id=&quot; &#43; row[&quot;contentID&quot;].ToString()); Menu1.Items.Add(newMenuItem); AddChildMenuItems(menuData, newMenuItem); bindDetailsView(); } } private void AddChildMenuItems(DataTable menuData, MenuItem parentMenuItem) { DataView view = new DataView(menuData); view.RowFilter = &quot;ParentID=&quot; &#43; parentMenuItem.Value; foreach (DataRowView row in view) { MenuItem newMenuItem = new MenuItem(row[&quot;MenuTitle&quot;].ToString(), row[&quot;contentID&quot;].ToString(), null, &quot;Default.aspx?id=&quot; &#43; row[&quot;contentID&quot;].ToString()); parentMenuItem.ChildItems.Add(newMenuItem); AddChildMenuItems(menuData, newMenuItem); } } public void bindDetailsView() { //SqlConnection con = new SqlConnection(&quot;Data Source=STD-258E51EA446\\SQLEXPRESS;Initial Catalog=Customers;Integrated Security=True&quot;); //SqlCommand cmd = new SqlCommand(&quot;Select CustomerID,CustomerName,Address from Customer where CustomerID=@CustomerID&quot;, con); //cmd.Parameters.AddWithValue(&quot;@CustomerID&quot;, Request.QueryString[&quot;QSCustomerID&quot;]); //SqlDataAdapter da = new SqlDataAdapter(cmd); //DataSet ds = new DataSet(); //da.Fill(ds); //DetailsView1.DataSource = ds; //DetailsView1.DataBind(); string strConn; strConn = WebConfigurationManager.ConnectionStrings[&quot;MyConn&quot;].ConnectionString; SqlConnection Conn = new SqlConnection(strConn); Conn.Open(); SqlCommand cmd = new SqlCommand(&quot;select idcontent,title,intro_text from content where idcontent=@ContentId&quot;, Conn); cmd.Parameters.AddWithValue(&quot;@ContentID&quot;, Request.QueryString[&quot;id&quot;]); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); DetailsView1.DataSource = ds; DetailsView1.DataBind(); //Conn.Close(); } } <strong>code for default.aspx</strong></pre> <pre class="prettyprint">&lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %&gt; &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head runat="server"&gt; &lt;title&gt;&lt;/title&gt; &lt;/head&gt; &lt;style type="text/css"&gt; .menuItem { border:Solid 1px black; width:100px; padding:2px; background-color:#eeeeee; } .menuItem a { color:blue; } .grid { margin-top:10px; } .grid td, .grid th { padding:10px; } &lt;/style&gt; &lt;body&gt; &lt;form id="form1" runat="server"&gt; &lt;div&gt; &lt;asp:Menu id="Menu1" Orientation="horizontal" StaticMenuItemStyle-CssClass="menuItem" DynamicMenuItemStyle-CssClass="menuItem" Runat="server" /&gt; &lt;asp:DetailsView ID="DetailsView1" runat="server"&gt;&lt;/asp:DetailsView&gt; &lt;/div&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt; </pre> 2012-03-06T20:04:50-05:004867017http://forums.asp.net/p/1777418/4867017.aspx/1?Re+Problem+with+SqlParameter+and+Request+QueryStringRe: Problem with SqlParameter and Request.QueryString <p>to avoid the error, you can add something like this:</p> <pre class="prettyprint">if (<span>Request.QueryString[&quot;id&quot;] != null</span>) cmd.Parameters.AddWithValue(&quot;@ContentID&quot;, Request.QueryString[&quot;id&quot;]); else cmd.Parameters.AddWithValue(&quot;@ContentID&quot;, DbNull.Value);</pre> 2012-03-06T20:36:27-05:004867369http://forums.asp.net/p/1777418/4867369.aspx/1?Re+Problem+with+SqlParameter+and+Request+QueryStringRe: Problem with SqlParameter and Request.QueryString <p>it's work properly..thanks you very much mr. rajsedhain</p> 2012-03-07T03:56:18-05:004868888http://forums.asp.net/p/1777418/4868888.aspx/1?Re+Problem+with+SqlParameter+and+Request+QueryStringRe: Problem with SqlParameter and Request.QueryString <p>Glad, it's working now.</p> <p></p> 2012-03-07T20:03:03-05:00