コード例 #1
0
ファイル: Form2.cs プロジェクト: RMingJu/Management-System
        private void textBox_BarCode_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                foreach (Control x in this.Controls)
                {
                    if (x is TextBox)
                    {
                        TextBox tb = x as TextBox;
                        if (tb.Name == "textBox_BarCode")
                        {
                            continue;
                        }
                        tb.Text = "";
                    }
                }


                textBox_BarCode.SelectAll();

                GetConnection gc = new GetConnection();
                using (SqlConnection cnn = gc.ConnectionString("新新"))
                {
                    using (SqlCommand cmd = new SqlCommand())
                    {
                        cmd.Connection  = cnn;
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.CommandText = "產品資料BarCode查詢";

                        cmd.Parameters.Add("@barcode", SqlDbType.NVarChar).Value = textBox_BarCode.Text;
                        cmd.Parameters.Add("@number", SqlDbType.Int);
                        cmd.Parameters.Add("@name", SqlDbType.NVarChar, 30);
                        cmd.Parameters.Add("@item", SqlDbType.NVarChar, 20);
                        cmd.Parameters.Add("@quantity", SqlDbType.Int);
                        cmd.Parameters["@number"].Direction   = ParameterDirection.Output;
                        cmd.Parameters["@name"].Direction     = ParameterDirection.Output;
                        cmd.Parameters["@item"].Direction     = ParameterDirection.Output;
                        cmd.Parameters["@quantity"].Direction = ParameterDirection.Output;

                        cnn.Open();
                        SqlDataReader dr = cmd.ExecuteReader();

                        try
                        {
                            //用條碼機取得產品編號
                            int ans = int.Parse(cmd.Parameters["@number"].Value.ToString());
                            textBox_Number.Text = ans.ToString();
                            textBox_Name.Text   = cmd.Parameters["@name"].Value.ToString();
                            textBox_Item.Text   = cmd.Parameters["@item"].Value.ToString();

                            //如果是出貨表或進貨表的話,SHOW出庫存數量
                            if (InsertTableName == "進貨表" || InsertTableName == "出貨表")
                            {
                                label_QuantityShow.Text = "目前庫存量: " + cmd.Parameters["@quantity"].Value.ToString();
                            }
                        }
                        catch (Exception ex)
                        {
                            if (InsertTableName != "產品資料")
                            {
                                MessageBox.Show("找不到符合的產品!");
                            }
                        }



                        cmd.Dispose();
                        dr.Close();
                        cnn.Close();
                    }
                }
            }
        }
コード例 #2
0
ファイル: Form2.cs プロジェクト: RMingJu/Management-System
        private void button1_Click(object sender, EventArgs e)
        {
            GetConnection gc = new GetConnection();

            using (SqlConnection cnn = gc.ConnectionString("新新"))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection  = cnn;
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = proc;

                    try
                    {
                        switch (InsertTableName)
                        {
                        case "產品資料":
                            cmd.Parameters.Add("@number", SqlDbType.Int).Value    = int.Parse(textBox_Number.Text);
                            cmd.Parameters.Add("@item", SqlDbType.NVarChar).Value = textBox_Item.Text;
                            cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = textBox_Name.Text;
                            if (String.IsNullOrEmpty(textBox_BarCode.Text))
                            {
                                cmd.Parameters.Add("@barcode", SqlDbType.NVarChar).Value = DBNull.Value;
                            }
                            else
                            {
                                cmd.Parameters.Add("@barcode", SqlDbType.NVarChar).Value = textBox_BarCode.Text;
                            }
                            break;

                        case "庫存表":
                            cmd.Parameters.Add("@number", SqlDbType.Int).Value   = int.Parse(textBox_Number.Text);
                            cmd.Parameters.Add("@quantity", SqlDbType.Int).Value = int.Parse(textBox_Quantity.Text);
                            break;

                        case "進貨表":
                        case "出貨表":
                            cmd.Parameters.Add("@number", SqlDbType.Int).Value   = int.Parse(textBox_Number.Text);
                            cmd.Parameters.Add("@price", SqlDbType.Int).Value    = int.Parse(textBox_Price.Text);
                            cmd.Parameters.Add("@quantity", SqlDbType.Int).Value = int.Parse(textBox_Quantity.Text);
                            break;
                        }
                        cmd.Parameters.Add("@count", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;

                        cnn.Open();
                        int cc = cmd.ExecuteNonQuery();
                        cmd.Dispose();
                        cnn.Close();

                        //看是要不要直接回寫還是USER要換表刷新才能看到資料新增
                        if (ReturnTable)
                        {
                            DataRow rr = Source.NewRow();

                            switch (InsertTableName)
                            {
                            case "產品資料":
                                rr["編號"] = int.Parse(textBox_Number.Text);
                                rr["項目"] = textBox_Item.Text;
                                rr["品名"] = textBox_Name.Text;
                                rr["條碼"] = textBox_BarCode.Text;
                                break;

                            case "庫存表":
                                rr["編號"] = int.Parse(textBox_Number.Text);
                                rr["數量"] = int.Parse(textBox_Quantity.Text);
                                break;

                            case "進貨表":
                                rr["編號"]   = int.Parse(textBox_Number.Text);
                                rr["數量"]   = int.Parse(textBox_Quantity.Text);
                                rr["進貨價格"] = int.Parse(textBox_Price.Text);
                                break;

                            case "出貨表":
                                rr["編號"]   = int.Parse(textBox_Number.Text);
                                rr["數量"]   = int.Parse(textBox_Quantity.Text);
                                rr["出貨價格"] = int.Parse(textBox_Price.Text);
                                break;
                            }

                            Source.Rows.Add(rr);
                        }
                        if (cc > 1)
                        {
                            MessageBox.Show("新增成功!");
                        }
                        else
                        {
                            MessageBox.Show("新增失敗!");
                        }

                        //清除所有格子的字
                        foreach (var x in this.Controls)
                        {
                            if (x is TextBox)
                            {
                                TextBox tb = x as TextBox;
                                tb.Clear();
                            }
                        }
                        label_QuantityShow.Text = "";
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }

                    textBox_BarCode.Focus();
                }
            }
        }