Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何搜索分成两列的股票ID和股票编号_C# - Fatal编程技术网

C# 如何搜索分成两列的股票ID和股票编号

C# 如何搜索分成两列的股票ID和股票编号,c#,C#,我需要按项目搜索股票没有示例:“MG001” 我创建了一个自动递增,因此在数据库表中将[Stock_ID]和[Stock_No]拆分为两列,如下所示: Stock_ID || Stock_No --------------------- 1 MG 这是我的网格视图表代码,它将[Stock_ID]和[Stock_No]合并为MG001 private void DisplayData() { dataGridView1.AutoGenerat

我需要按项目搜索股票没有示例:“MG001” 我创建了一个自动递增,因此在数据库表中将[Stock_ID]和[Stock_No]拆分为两列,如下所示:

Stock_ID  || Stock_No
---------------------
   1            MG
这是我的网格视图表代码,它将[Stock_ID]和[Stock_No]合并为MG001

private void DisplayData()
    {
        dataGridView1.AutoGenerateColumns = true;
        dataGridView1.Rows.Clear();
        conn.Close();
        conn.Open();

        try
        {
            var command = new SqlCommand(select_query, conn);
            using (var reader = command.ExecuteReader())
            {
                while (reader.Read())
                {
                    var index = dataGridView1.Rows.Add();
                    var row = dataGridView1.Rows[index];

                    string sNo = reader["Stock_No"].ToString();
                    int sId = Int32.Parse(reader["Stock_ID"].ToString());

                    string itemNo = String.Format("{0}{1:D3}", sNo, sId);

                    row.Cells[0].Value = itemNo;
                    row.Cells[1].Value = reader["Gem_Type"].ToString();
                    row.Cells[2].Value = reader["No_of_Pieces"].ToString();
                    row.Cells[3].Value = reader["Weight"].ToString();
                    row.Cells[4].Value = reader["Cost"].ToString();
                    MemoryStream ms = new MemoryStream(reader["Image"] as byte[]);
                    row.Cells[5].Value = Image.FromStream(ms);
                }
            }
        }
        catch (Exception ex)
        {
        }
        dataGridView1.RefreshEdit();
        conn.Close();
        dataGridView1.RefreshEdit();
    }
这是我的搜索条形码:

private void bunifuMetroTextbox1_KeyUp(object sender, KeyEventArgs e)
    {
            conn.Open();
            SqlCommand cmd = conn.CreateCommand();
            // use regix 
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT TOP 2 * FROM Stock_Entry Where Stock_No like ('" + bunifuMetroTextbox1.Text + "%') AND Stock_ID like('" + bunifuMetroTextbox1.Text + "%')";

            cmd.ExecuteNonQuery();
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            dataGridView1.DataSource = dt;

} 

此代码无效。请帮助。

数据库中的列是定义为VAR CHAR还是Integer?文本的开头和结尾是否需要“%”?文本框中是否有空格?是的,列在[Stock_ID]int和[StockNo]nvarchar(15)中定义两个都不需要%Yeh文本框中没有空格请删除WHERE,然后查看是否收到响应。确保您的响应中至少有一项与两个ID匹配。然后添加一项,然后再添加另一项,以查看导致问题的原因。