مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

مشکل دربرنامه نویسی سی شارپ برنامه انبار داری

پنج شنبه, 08 خرداد 1399 20:50

مشکل دربرنامه نویسی سی شارپ برنامه انبار داری

با سلام 

من یه برنامه انبار داری برای پروژه دانشگاه دارم مینویسم تو سه قسمتش از نظر کدی به مشکل برخورد کردم 

شمت میتونید منو راهنمایی کنید 

1- تو قسمت ورود کالا وقتی ورود کالا را وارد می کنی تو جدول ورود در sql server ذخیره میشه ولی در جدول موجودی کالا هیچی ذخیره نمیشه کد ها ارور میدن

این کد های ورود کالاست 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;


namespace Wmanagement
{

    public partial class frmVorood : Form
    {
        SqlConnection con = new SqlConnection("data source=(local);initial catalog=Anbar;integrated security=true");
        SqlCommand cmd = new SqlCommand();
        public frmVorood()
        {
            InitializeComponent();
        }

        private void LabelX4_Click(object sender, EventArgs e)
        {

        }

        private void LabelX8_Click(object sender, EventArgs e)
        {

        }

        private void MaskedTextBoxAdv1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
        {
           

        }

        private void TextBoxX8_TextChanged(object sender, EventArgs e)
        {

        }

        private void ButtonX4_Click(object sender, EventArgs e)
        {
            SqlDataReader dr;
            cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText = "select * from tblAnbar where Code=@s";
            cmd.Parameters.AddWithValue("@s", txtCodeAnbar.Text);
            if (!(con.State == ConnectionState.Open))
            {
                con.Open();
            }
            dr = cmd.ExecuteReader();
            if (dr.Read())
            {
                txtCodeAnbar.Text = dr["Code"].ToString();
                txtNameAnbar.Text = dr["NameAnbar"].ToString();
            }
            else
            {
                MessageBox.Show("برای کد وارد شده اطلاعاتی پیدا نشد ");
                txtCodeAnbar.Focus();
                txtCodeAnbar.Text = "";
            }
            con.Close();

        }

        private void ButtonX1_Click(object sender, EventArgs e)
        {
            SqlDataReader dr;
            cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText = "select * from tblTK where CodeKala=@s";
            cmd.Parameters.AddWithValue("@s", txtCodeKala.Text);
            if (!(con.State == ConnectionState.Open))
            {
                con.Open();
            }
            dr = cmd.ExecuteReader();
            if (dr.Read())
            {
                txtCodeKala.Text = dr["CodeKala"].ToString();
                txtNameKala.Text = dr["NameKala"].ToString();
                txtSerial.Text = dr["Serial"].ToString();
            }
            else
            {
                MessageBox.Show("برای کد وارد شده اطلاعاتی پیدا نشد ");
                txtCodeKala.Focus();
                txtCodeKala.Text = "";
            }
            con.Close();
        }

        private void Timer1_Tick(object sender, EventArgs e)
        {
        }

        private void BtnAdd_Click(object sender, EventArgs e)
        {
            if (txtTedad.Text == "")
            {
                MessageBox.Show("تعداد وارد نشده است ");
                return;
            }
            dgv.Rows.Add(txtCodeAnbar.Text, txtNameAnbar.Text, txtCodeKala.Text, txtNameKala.Text, txtSerial.Text, txtTedad.Text);
            txtCodeAnbar.Text = txtNameAnbar.Text = txtCodeKala.Text = txtNameKala.Text = txtSerial.Text = txtTedad.Text = "";

        }

        private void BtnDelete_Click(object sender, EventArgs e)
        {
            if (dgv.Rows.Count == 1)
            {
                MessageBox.Show("کالایی انتخاب نشده است ");
                return;
            }
            else
                dgv.Rows.Remove(dgv.CurrentRow);

        }

        private void Dgv_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void BtnSave_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < dgv.Rows.Count - 1; i++)
            {
                cmd.Connection = con; cmd.Parameters.Clear();
                cmd.CommandText = "insert into tblVrood(CodeAnbar,NameAnbar,CodeKala,NameKala,Serial,Tedad,Girandeh,Tarikh,Saat,Tozih)values(@a,@b,@c,@d,@e,@f,@g,@h,@i,@j)";
                cmd.Parameters.AddWithValue("@a", Convert.ToInt32(dgv.Rows[i].Cells[0].Value));
                cmd.Parameters.AddWithValue("@b", dgv.Rows[i].Cells[1].Value);
                cmd.Parameters.AddWithValue("@c", Convert.ToInt32(dgv.Rows[i].Cells[2].Value));
                cmd.Parameters.AddWithValue("@d", dgv.Rows[i].Cells[3].Value);
                cmd.Parameters.AddWithValue("@e", dgv.Rows[i].Cells[4].Value);
                cmd.Parameters.AddWithValue("@f", Convert.ToInt32(dgv.Rows[i].Cells[5].Value));
                cmd.Parameters.AddWithValue("@g", txtTahvilGirande.Text);
                cmd.Parameters.AddWithValue("@h", mskTarikh.Text);
                cmd.Parameters.AddWithValue("@i", txtSaat.Text);
                cmd.Parameters.AddWithValue("@j", txtTozih.Text);
                if (!(con.State == ConnectionState.Open))
                {
                    con.Open();
                }
                cmd.ExecuteNonQuery();
                //********************* 
                string TedadKala;
                int TedadVrod;
                string vrod;
                SqlCommand cmdKala = new SqlCommand("select MojodiKol from tblMojoodi where CodeKala='" +
                Convert.ToInt32(dgv.Rows[i].Cells[2].Value) + "' And CodeAnbar='" +
                Convert.ToInt32(dgv.Rows[i].Cells[0].Value) + "'", con);
                SqlCommand cmdVrod = new SqlCommand("select Vrod from tblMojoodi where CodeKala='" +
                Convert.ToInt32(dgv.Rows[i].Cells[2].Value) + "' And CodeAnbar='" +
                Convert.ToInt32(dgv.Rows[i].Cells[0].Value) + "'", con);
                TedadKala = Convert.ToString((int)cmdKala.ExecuteScalar());
                vrod = Convert.ToString((int)cmdVrod.ExecuteScalar());
                TedadVrod = Convert.ToInt32(dgv.Rows[i].Cells[5].Value);
                int resultVrod = int.Parse(vrod) + TedadVrod;//مقدار جدید فیلد ورود
                int resultMojodiKol = int.Parse(TedadKala) + TedadVrod;//مقدار جدید فیلد موجودی کل
                string UpdateMojodi = "update tblMojoodi set MojodiKol='" + resultMojodiKol + "',Vrod='" + 
                resultVrod + "' where CodeKala='" + Convert.ToInt32(dgv.Rows[i].Cells[2].Value) + "' And CodeAnbar='" +
                Convert.ToInt32(dgv.Rows[i].Cells[0].Value) + "'";
                SqlCommand com = new SqlCommand(UpdateMojodi, con);
                com.ExecuteNonQuery();
                con.Close();
                MessageBox.Show("اطلاعات ذخیره شد ");


            }
        }

        private void FrmVorood_Load(object sender, EventArgs e)
        {
            System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar();
            mskTarikh.Text = p.GetYear(DateTime.Now).ToString() + p.GetMonth(DateTime.Now).ToString("0#") + p.GetDayOfMonth(DateTime.Now).ToString("0#");

            txtSaat.Text = DateTime.Now.Hour.ToString("0#");
            txtSaat.Text += ":"; txtSaat.Text += DateTime.Now.Minute.ToString("0#");

        }

        private void Btnexit_Click(object sender, EventArgs e)
        {
            this.Close();

        }
    }
}

کد های که قرمز کردم ارور میده 

وقتی ما تعداد رو در فرم ورود وارد می کنیم این باید به تعداد کالا در جدول موجودی کالا اضافه بشه

اینم عکس جدول موجودی در sql server

ممنون میشم منو راهنمایی کنید

اگه نیازه تا فایل کل پروژه رو براتون ارسال کنم

ارسال پاسخ برای این تاپیک