[asp.net]不给出。即使我有使用 System.Data.SqlClient; 选项作为参数

标签: Asp.net C#
发布时间: 2016/7/10 11:35:25
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI.WebControls;


namespace Bookstore
{
    public partial class search : System.Web.UI.Page
    {
        //Get the connection string from web.config
        string connectionString = ConfigurationManager.ConnectionStrings["BookstoreConnectionString"].ToString();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                FillPage();
            }
        }

        public void FillPage() 
        {
            //Check if the url contains searchString parameter
            if (!String.IsNullOrWhiteSpace(Request.QueryString["searchString"]))
            {
                string searchString = Request.QueryString["searchString"];
            }
            lblResult.Text = "";

            SqlConnection conn = new SqlConnection(connectionString);
            // query string with @search variable
            var query = "SELECT * FROM Products WHERE Name LIKE '%' + @search + '%' OR ItemNumber LIKE '%' + @search + '%' OR Price LIKE '%' + @search + '%' OR Description LIKE '%' + @search + '%' ORDER BY Name";

            try
            {
                SqlCommand search = new SqlCommand(query, conn);

                //placed the search string in the @search variable
                query.Parameters.Add("@search", SqlDbType.VarChar).Value = searchString;

                conn.Open();

                query.ExecuteNonQuery();
            }
            finally
            {
                conn.Close();
            }

        }

我是一个新的程序员想要了解的基本知识,耐心赞赏。

我想成一个查询字符串的 url 传递参数。

我想在上面的代码使用︰

query.Parameters.Add("@search", SqlDbType.VarChar).Value = searchString;

要做到这一点。

我的问题是。在未被识别的参数。它已在它之下的红色波浪线。我有︰ 使用 System.Data.SqlClient 顶部,所以我很为难。两天在线解决方案中搜索的结果,但没找到。也许是因为我不知道这个问题的正确的搜索条款。

任何帮助被赞赏。 谢谢戴安娜

解决方法 1:

参数是可用的 SqlCommand 对象不是用 string 。如此而不是 query 只是用你 SqlCommand 即对象search

search.Parameters.Add("@search", SqlDbType.VarChar).Value = searchString;
官方微信
官方QQ群
31647020