簡體   English   中英

如何在C#asp.net中使用SqlDataReader對SQL Server查詢使用參數,該參數是查詢本身的一部分

[英]How to use a parameter for a SQL Server query that is part of the query itself using SqlDataReader in C# asp.net

背景

我正在嘗試在返回數據集的同時檢索數據庫中用戶的出現次數。 我該如何完成? 我的代碼低於到目前為止的代碼。

如果我對用戶名進行硬編碼,則對於該行,將獲得預期的輸出。 但是,我在用此代碼聲明參數化查詢變量時遇到問題。 任何幫助,將不勝感激。 我已經為此工作了一段時間。

protected void Page_Load(object sender, EventArgs e)
{
    string ConnStr = ConfigurationManager.ConnectionStrings["Conn"].ConnectionString;

    using (SqlConnection conn = new SqlConnection(ConnStr))
    {
        string Command = "SELECT TOP 3 *, Counter = (select Count(User) from Projects where [User]='jmoore00' AND Account = 'ACTIVE') FROM Projects";

        using (SqlCommand comm = new SqlCommand(Command, conn))
        {
            conn.Open();  

            SqlDataReader rdr = comm.ExecuteReader();

            ListView.DataSource = rdr;
            ListView.DataBind();

            rdr.Close();
        }
    }
}

上面的'jmoore00'應該是標量變量@User,但是如果我按原樣使用代碼,該如何正確聲明和使用值等於rdr [“ user”]的變量?

我認為您應該在sql中使用存儲過程。由於特定用戶嘗試檢索其數據,因此請在SQL字段中添加這種情況的編號。 每個用戶都有一個唯一的字段,可以使用其用戶或用戶ID進行訪問。 但我認為這會增加交易時間。

希望對您有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM