簡體   English   中英

根據輸入的字符從數據庫中選擇與字符串匹配的項目

[英]Selecting Items from Database that Matches with the string Based on Entered Characters

我想選擇與輸入字符串匹配的項目。似乎查詢正在選擇至少包含匹配字母的所有項目。

我不希望完全匹配..我想選擇與開頭匹配的字符串..就像我鍵入'it'一樣,我想列出所有以'it'開頭的字符串

我在做什么錯?

在此處輸入圖片說明

using (SqlConnection conn = new SqlConnection(constr))
                        {

                            try
                            {
                                conn.Open();
                                SqlDataReader myReader = null;

                                string commandText = "SELECT itemname,rate,stock FROM mytable WHERE itemname LIKE @id";
                                SqlCommand command = new SqlCommand(commandText, conn);
                                string searchParam = String.Format("%{0}%", text_item.Text);
                                command.Parameters.AddWithValue("@id", searchParam);
                                using (SqlDataAdapter sda = new SqlDataAdapter(command))
                                {
                                    using (DataTable dt = new DataTable())
                                    {
                                        sda.Fill(dt);
                                        dataGridView1.DataSource = dt;
                                    }
                                }

                            }
                            catch (Exception err)
                            {
                                MessageBox.Show(err.Message);
                            }

                        }

不要使用LIKE而是使用= 並將您的字符串更改為確切的字符串,而不是%text%

string commandText = "SELECT itemname,rate,stock FROM mytable WHERE itemname = @id";
...
string searchParam = text_item.Text;

----------------------編輯------------------------

在更新問題之后,答案將是:

string searchParam = string.Format("{0}%", text_item.Text);

不需要前一個%,因為您不希望在此處使用通配符。

而不是“ Like”,您應該使用“ =”。 如果您想使用通配符進行搜索,通常會使用Like。

如果您希望查詢返回以開頭的結果,請將參數值更改為

string searchParam = String.Format("{0}%", text_item.Text);

您的代碼運行良好。 是的,您可以在查詢中使用LIKE運算符。 請調試並檢查“ text_item”變量中的內容。 縮小搜索范圍。 你可以參考鏈接

檢查like運算符的語法。

暫無
暫無

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

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