Jonathan Flores
Jonathan Flores

Reputation: 23

C# How to data from two windows form to one database?

i'm working to my lending management system and I want to add data from my database coming to two different windows form.

here's my code to the first windows form.

 private void button1_Click(object sender, EventArgs e)
        {
            if (RequiredEntry() == true)
            {
                return;
            }

            try
            {
                SqlConnection cn = new SqlConnection("Data Source=DESKTOP-79MM8LM;Initial Catalog=lend;Integrated Security=True");
                if (cn.State == ConnectionState.Open)
                {
                    cn.Close();
                }
                cn.Open();

                //if (textBox13.Text.Trim() != textBox26.Text.Trim())
                if (textBox13. Text != textBox26.Text)
                {
                    string sSQL = "insert into costumerinfo(name,address,contactNo,occupation,occupationAddress,salary,birthDate,birthPlace,workYears,civilStatus,gender,age,cmName,cmAge,cmAddress,cmContactNo,cmOccupation,cmOccupatioAdd,cmSalary,cm_Name,cm_Age,cm_Address,cm_ContactNo,cm_Occupation,cm_OccupationAdd,cm_Salary) values(@d1,@d2,@d3,@d4,@d5,@d6,@d7,@d8,@d9,@d10,@d11,@d12,@d13,@d14,@d15,@d16,@d17,@d18,@d19,@d20,@d21,@d22,@d23,@d24,@25,@26)";
                    SqlCommand cmd = new SqlCommand(sSQL, cn);

                    //new client
;

                    SqlParameter name = new SqlParameter("@d1", SqlDbType.Char, 10);

                    name.Value = textBox1.Text.ToString();
                    cmd.Parameters.Add(name);

                    SqlParameter address = new SqlParameter("@d2", SqlDbType.VarChar, 50);
                    address.Value = textBox2.Text.ToString();
                    cmd.Parameters.Add(address);

                    SqlParameter contactNo = new SqlParameter("@d3", SqlDbType.Char, 10);
                    contactNo.Value = textBox3.Text.ToString();
                    cmd.Parameters.Add(contactNo);

                    SqlParameter occupation = new SqlParameter("@d4", SqlDbType.Char, 50);
                    occupation.Value = textBox4.Text.ToString();
                    cmd.Parameters.Add(occupation);

                    SqlParameter occupationAddress = new SqlParameter("@d5", SqlDbType.VarChar, 50);
                    occupationAddress.Value = textBox5.Text.ToString();
                    cmd.Parameters.Add(occupationAddress);

                    SqlParameter salary = new SqlParameter("@d6", SqlDbType.Char, 10);
                    salary.Value = textBox6.Text.ToString();
                    cmd.Parameters.Add(salary);

                    SqlParameter birthDate = new SqlParameter("@d7", SqlDbType.VarChar, 10);
                    birthDate.Value = maskedTextBox1.Text.ToString();
                    cmd.Parameters.Add(birthDate);

                    SqlParameter birthPlace = new SqlParameter("@d8", SqlDbType.Char, 50);
                    birthPlace.Value = textBox8.Text.ToString();
                    cmd.Parameters.Add(birthPlace);

                    SqlParameter workYears = new SqlParameter("@d9", SqlDbType.Char, 2);
                    workYears.Value = textBox9.Text.ToString();
                    cmd.Parameters.Add(workYears);

                    SqlParameter civilStatus = new SqlParameter("@d10", SqlDbType.Char, 10);
                    civilStatus.Value = comboBox1.Text.ToString();
                    cmd.Parameters.Add(civilStatus);

                    SqlParameter gender = new SqlParameter("@d11", SqlDbType.Char, 10);
                    gender.Value = comboBox2.Text.ToString();
                    cmd.Parameters.Add(gender);

                    SqlParameter age = new SqlParameter("@d12", SqlDbType.Char, 2);
                    age.Value = textBox12.Text.ToString();
                    cmd.Parameters.Add(age);


                    //co-maker 1
                    SqlParameter cmName = new SqlParameter("@d13", SqlDbType.Char, 2);
                    cmName.Value = textBox13.Text.ToString();
                    cmd.Parameters.Add(cmName);

                    SqlParameter cmAge = new SqlParameter("@d14", SqlDbType.VarChar, 50);
                    cmAge.Value = textBox14.Text.ToString();
                    cmd.Parameters.Add(cmAge);

                    SqlParameter cmAddress = new SqlParameter("@d15", SqlDbType.VarChar, 50);
                    cmAddress.Value = textBox15.Text.ToString();
                    cmd.Parameters.Add(cmAddress);

                    SqlParameter cmContactNo = new SqlParameter("@d16", SqlDbType.VarChar, 10);
                    cmContactNo.Value = textBox16.Text.ToString();
                    cmd.Parameters.Add(cmContactNo);

                    SqlParameter cmOccupation = new SqlParameter("@d17", SqlDbType.Char, 20);
                    cmOccupation.Value = textBox17.Text.ToString();
                    cmd.Parameters.Add(cmOccupation);

                    SqlParameter cmOccupatioAdd = new SqlParameter("@d18", SqlDbType.VarChar, 50);
                    cmOccupatioAdd.Value = textBox18.Text.ToString();
                    cmd.Parameters.Add(cmOccupatioAdd);

                    SqlParameter cmSalary = new SqlParameter("@d19", SqlDbType.VarChar, 10);
                    cmSalary.Value = textBox19.Text.ToString();
                    cmd.Parameters.Add(cmSalary);


                    //co-maker 2
                    SqlParameter cm_Name = new SqlParameter("@d20", SqlDbType.Char, 10);
                    cm_Name.Value = textBox26.Text.ToString();
                    cmd.Parameters.Add(cm_Name);

                    SqlParameter cm_Age = new SqlParameter("@d21", SqlDbType.VarChar, 10);
                    cm_Age.Value = textBox25.Text.ToString();
                    cmd.Parameters.Add(cm_Age);

                    SqlParameter cm_Address = new SqlParameter("@d22", SqlDbType.VarChar, 50);
                    cm_Address.Value = textBox23.Text.ToString();
                    cmd.Parameters.Add(cm_Address);

                    SqlParameter cm_ContactNo = new SqlParameter("@d23", SqlDbType.VarChar, 20);
                    cm_ContactNo.Value = textBox24.Text.ToString();
                    cmd.Parameters.Add(cm_ContactNo);

                    SqlParameter cm_Occupation = new SqlParameter("@d24", SqlDbType.VarChar, 50);
                    cm_Occupation.Value = textBox22.Text.ToString();
                    cmd.Parameters.Add(cm_Occupation);

                    SqlParameter cm_OccupationAdd = new SqlParameter("@d25", SqlDbType.VarChar, 50);
                    cm_OccupationAdd.Value = textBox21.Text.ToString();
                    cmd.Parameters.AddWithValue("@25", textBox21.Text);
                    //cmd.Parameters.Add(cm_OccupationAdd);

                    SqlParameter cm_Salary = new SqlParameter("@d26", SqlDbType.VarChar, 2);
                    cm_Salary.Value = textBox20.Text.ToString();
                    cmd.Parameters.AddWithValue("@26", textBox20.Text);
                    //cmd.Parameters.Add(cm_Salary);

                    int temp = 0;
                    temp = cmd.ExecuteNonQuery();

                    if (temp > 0)
                    {
                        cn.Close();
                        MessageBox.Show("New client added Successfully!");

                    }
                    else
                    {
                        MessageBox.Show("data not added!");
                        return;
                    }
                }
                else
                {`enter code here`
                    MessageBox.Show("Name of two Co-Maker are the same", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), "Data Error");
                return;
            }

        }

and here my second windows form

private void button1_Click(object sender, EventArgs e)
        {
            if (RequiredEntry() == true)
            {
                return;
            }

            try
            {
                SqlConnection cn = new SqlConnection("Data Source=DESKTOP-79MM8LM;Initial Catalog=lend;Integrated Security=True");
                if (cn.State == ConnectionState.Open)
                {
                    cn.Close();
                }
                cn.Open();

                //if (textBox13.Text.Trim() != textBox26.Text.Trim())
                if (String.IsNullOrEmpty(comboBox1.Text))
                {
                    string sSQL = "insert into costumerinfo(name, amount, interest, daysOfPayment, payPerDay, totalAmount, processingFee, insurance, notarial) values(@d1,@d2,@d3,@d4,@d5,@d6,@d7,@d8)";
                    SqlCommand cmd = new SqlCommand(sSQL, cn);

                    //new client

                    //SqlParameter clientID = new SqlParameter("@d1", SqlDbType.Char, 10);
                    //clientID.Value = textBox1.Text.ToString();
                    //cmd.Parameters.Add(clientID);

                    SqlParameter name = new SqlParameter("@d1", SqlDbType.Char, 10);
                    name.Value = comboBox1.Text.ToString();
                    cmd.Parameters.Add(name);

                    SqlParameter amount = new SqlParameter("@d2", SqlDbType.VarChar, 50);
                    amount.Value = textBox2.Text.ToString();
                    cmd.Parameters.Add(amount);

                    SqlParameter interest = new SqlParameter("@d3", SqlDbType.Char, 10);
                    interest.Value = textBox3.Text.ToString();
                    cmd.Parameters.Add(interest);

                    SqlParameter daysOfPayment = new SqlParameter("@d4", SqlDbType.Char, 50);
                    daysOfPayment.Value = textBox4.Text.ToString();
                    cmd.Parameters.Add(daysOfPayment);

                    SqlParameter payPerDay = new SqlParameter("@d5", SqlDbType.VarChar, 50);
                    payPerDay.Value = label10.Text.ToString();
                    cmd.Parameters.Add(payPerDay);

                    SqlParameter totalAmount = new SqlParameter("@d6", SqlDbType.VarChar, 50);
                    totalAmount.Value = label11.Text.ToString();
                    cmd.Parameters.Add(totalAmount);

                    SqlParameter processingFee = new SqlParameter("@d7", SqlDbType.Char, 10);
                    processingFee.Value = textBox7.Text.ToString();
                    cmd.Parameters.Add(processingFee);

                    SqlParameter insurance = new SqlParameter("@d8", SqlDbType.VarChar, 10);
                    insurance.Value = textBox8.Text.ToString();
                    cmd.Parameters.Add(insurance);

                    SqlParameter notarial = new SqlParameter("@d9", SqlDbType.Char, 50);
                    notarial.Value = textBox9.Text.ToString();
                    cmd.Parameters.Add(notarial);

                    int temp = 0;
                    temp = cmd.ExecuteNonQuery();

                    if (temp > 0)
                    {
                        cn.Close();
                        MessageBox.Show("New transaction added Successfully!");

                    }
                    else
                    {
                        MessageBox.Show("data not added!");
                        return;
                    }
                }
                else
                {
                    MessageBox.Show("Name of two Co-Maker are the same", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), "Data Error");
                return;
            }
        }

but here I got in my database [the new data was adding but create new line][1]

[i want to add data align with name][2]

 [1]: https://i.sstatic.net/B6Gb2.png
  [2]: https://i.sstatic.net/QaLov.png

can you help me thanks

Upvotes: 2

Views: 78

Answers (1)

Athanasios Kataras
Athanasios Kataras

Reputation: 26450

What you want, is to insert from one and update from the other.

SQL insert command -> The INSERT INTO statement is used to insert new records in a table.

SQL update command -> The UPDATE statement is used to modify the existing records in a table.

So your algorithm should be something like this:

  1. Select from the table to see if the row exists
select * from costumerinfo where name = @name
  1. If it does not exist, then insert
insert into costumerinfo
  1. If it does exist, update the relevant values
update customerinfo set ... where name = @name

You can of course change the second form and directly call

string sSQL = "update costumerinfo set amount=@d1, interest=@d2, daysOfPayment = @d3, payPerDay = @d4, totalAmount= $d5, processingFee=@d6, insurance @d7, notarial @d8) values(@d1,@d2,@d3,@d4,@d5,@d6,@d7,@d8) where name = name=@d9";

Upvotes: 1

Related Questions