C# - Grid-view to SQL

BoraluGoda

Member
Jan 28, 2011
486
114
0
::: GiRiPuRa :::
මචංල දන්න කෙනෙක් මට කියල දෙනවද datagridview එක rows තියන data බට්න් ක්ලික් ඉවෙන්ට් එකකදී database එකට සේව් කරගන්න විදිය. මම datagridview එකට ගන්නෙ data table එකකින්. පහල තියෙන්නෙ මම කරපු codes.

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace Billing_App
{


    public class ORD_Class
    {
        String connection = "Data Source=CHANAKA-PC;Initial Catalog=Billing_System_DB;Integrated Security=True";

        private int mORD_NO;

        public int MORD_NO
        {
            get { return mORD_NO; }
            set { mORD_NO = value; }
        }
        private String mORD_ID;

        public String MORD_ID
        {
            get { return mORD_ID; }
            set { mORD_ID = value; }
        }
        private DateTime mORD_Date;

        public DateTime MORD_Date
        {
            get { return mORD_Date; }
            set { mORD_Date = value; }
        }
        private String mCUS_Name;

        public String MCUS_Name
        {
            get { return mCUS_Name; }
            set { mCUS_Name = value; }
        }
        private String mCUS_Address;

        public String MCUS_Address
        {
            get { return mCUS_Address; }
            set { mCUS_Address = value; }
        }
        private String mCUS_Contact;

        public String MCUS_Contact
        {
            get { return mCUS_Contact; }
            set { mCUS_Contact = value; }
        }
        private String mPRO_Code;

        public String MPRO_Code
        {
            get { return mPRO_Code; }
            set { mPRO_Code = value; }
        }
        private String mPRO_Name;

        public String MPRO_Name
        {
            get { return mPRO_Name; }
            set { mPRO_Name = value; }
        }
        private String mPRO_Des;

        public String MPRO_Des
        {
            get { return mPRO_Des; }
            set { mPRO_Des = value; }
        }
        private Double mPRO_Price;

        public Double MPRO_Price
        {
            get { return mPRO_Price; }
            set { mPRO_Price = value; }
        }
        private int mPRO_Qty;

        public int MPRO_Qty
        {
            get { return mPRO_Qty; }
            set { mPRO_Qty = value; }
        }
        private Double mORD_LToatal;

        public Double MORD_LToatal
        {
            get { return mORD_LToatal; }
            set { mORD_LToatal = value; }
        }

        public Boolean AddOrder(ORD_Class ordObj)
        {
            SqlConnection conn = new SqlConnection(connection);
            string sql = "INSERT INTO ORD_DATA (ORD_NO, ORD_ID, ORD_Date, CUS_Name, CUS_Address, CUS_Contact, PRO_Code, PRO_Name, PRO_Des, PRO_Price, PRO_Qty, ORD_LTotal) values (@ORD_NO1, @ORD_ID2, @ORD_Date3, @CUS_Name4, @CUS_Address5, @CUS_Contact6, @PRO_Code7, @PRO_Name8, @PRO_Des9, @PRO_Price10, @PRO_Qty11, @ORD_LTotal12)";
            conn.Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            cmd.Parameters.AddWithValue("@ORD_NO1", ordObj.mORD_NO);
            cmd.Parameters.AddWithValue("@ORD_ID2", ordObj.mORD_ID);
            cmd.Parameters.AddWithValue("@ORD_Date3", ordObj.mORD_Date);
            cmd.Parameters.AddWithValue("@CUS_Name4", ordObj.mCUS_Name);
            cmd.Parameters.AddWithValue("@CUS_Address5", ordObj.mCUS_Address);
            cmd.Parameters.AddWithValue("@CUS_Contact6", ordObj.mCUS_Contact);
            cmd.Parameters.AddWithValue("@PRO_Code7", ordObj.mPRO_Code);
            cmd.Parameters.AddWithValue("@PRO_Name8", ordObj.mPRO_Name);
            cmd.Parameters.AddWithValue("@PRO_Des9", ordObj.mPRO_Des);
            cmd.Parameters.AddWithValue("@PRO_Price10", ordObj.mPRO_Price);
            cmd.Parameters.AddWithValue("@PRO_Qty11", ordObj.mPRO_Qty);
            cmd.Parameters.AddWithValue("@ORD_LTotal12", ordObj.mORD_LToatal);


            try
            {
                cmd.ExecuteNonQuery();
                conn.Close();
                return true;

            }
            catch (Exception ex)
            {

                return false;
            }
        }


        public List<ORD_Class> AllOrders()
        {
            List<ORD_Class> ordList = new List<ORD_Class>();
            SqlConnection conn = new SqlConnection(connection);
            string sql = "select * from ORD_DATA";
            conn.Open();
            SqlCommand cmdd = new SqlCommand(sql, conn);



            try
            {
                SqlDataReader dr = cmdd.ExecuteReader();
                while (dr.Read())
                {
                    ORD_Class ordObj = new ORD_Class();
                    ordObj.mORD_NO = Convert.ToInt32(dr["ORD_NO"]);
                    ordList.Add(ordObj);

                }

                dr.Close();
                return ordList;
            }


            finally
            {
                conn.Close();
            }
        }


    }
}


Code:
public void saveODR()
        {

            {
                if (txtCUSName.Text == "")
                {
                    MessageBox.Show("Please enter the customer name", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (txtCUSAddress.Text == "")
                {
                    MessageBox.Show("Please enter the customer address", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (txtCUSCON.Text == "")
                {
                    MessageBox.Show("Please enter the customer contact number", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    try
                    {


                        ORD_Class ordObj = new ORD_Class();



                        ordObj.MORD_NO = Convert.ToInt32(lblORDNO.Text);
                        ordObj.MORD_ID = lblORDID.Text;
                        ordObj.MORD_Date = Convert.ToDateTime(lblDT.Text);
                        ordObj.MCUS_Name = txtCUSName.Text;
                        ordObj.MCUS_Address = txtCUSAddress.Text;
                        ordObj.MCUS_Contact = txtCUSCON.Text;

                        
                        for (int i = 0; i < dataGridView1.Rows.Count; ++i)
                        {
                            ordObj.MPRO_Code = Convert.ToString(dataGridView1.Rows[i].Cells[0].Value);
                            ordObj.MPRO_Name = Convert.ToString(dataGridView1.Rows[i].Cells[1].Value);
                            ordObj.MPRO_Des = Convert.ToString(dataGridView1.Rows[i].Cells[2].Value);
                            ordObj.MPRO_Price = Convert.ToDouble(dataGridView1.Rows[i].Cells[3].Value);
                            ordObj.MPRO_Qty = Convert.ToInt32(dataGridView1.Rows[i].Cells[4].Value);
                            ordObj.MORD_LToatal = Convert.ToDouble(dataGridView1.Rows[i].Cells[5].Value);
                        }
                        ordObj.MORD_Date = Convert.ToDateTime(lblDT.Text);


                        Boolean result = ordObj.AddOrder(ordObj);

                        if (result)
                        {

                            int value;
                            for (value = 0; value != 100; value++)
                            {
                                toolStripProgressBar1.Value = toolStripProgressBar1.Value + 1;
                            }
                            MessageBox.Show("Order successfully added to the Database.!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            toolStripProgressBar1.Value = 0;
                        }
                    }
                    catch (Exception ex)
                    {

                        MessageBox.Show("Error in adding to the Database.!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    }

                }
            }
        }

Code:
private void Cashire_Load(object sender, EventArgs e)
        {
            getORDCODE();
            getORDNO();


            UpdateTime();
            timer.Enabled = true;

            DataTable = new DataTable();
            DataTable.TableName = "ORD";
            DataTable.Columns.Add("CODE");
            DataTable.Columns.Add("Name");
            DataTable.Columns.Add("Description");
            DataTable.Columns.Add("Price");
            DataTable.Columns.Add("Quantiry");
            DataTable.Columns.Add("Total");
            rowCount = -1;

            btnOK.Enabled = false;
            txtQ.Enabled = false;



            
        }


        public void LOAD() {

            if (lblTotal.Text != "")
            {

                int a = dataGridView1.Rows.Add();
                ++rowCount;
                dataGridView1.Rows[rowCount].Cells[0].Value = lblPCODE.Text;
                dataGridView1.Rows[rowCount].Cells[1].Value = lblName.Text;
                dataGridView1.Rows[rowCount].Cells[2].Value = lblDes.Text;
                dataGridView1.Rows[rowCount].Cells[3].Value = lblPrice.Text;
                dataGridView1.Rows[rowCount].Cells[4].Value = txtQ.Text;
                dataGridView1.Rows[rowCount].Cells[5].Value = lblTotal.Text;
            }
            else {
                MessageBox.Show("SSS");
            }
        
        }
 
Last edited:

BoraluGoda

Member
Jan 28, 2011
486
114
0
::: GiRiPuRa :::
wmic75.jpg


Menna meh tika thma mata database ekata da ganna oona.
 

penguinruwan

Well-known member
  • Aug 10, 2008
    967
    267
    83
    ayyyooooo ube code eka diga... C#.net da use karanne?
    oka hena katta ban DataGrid view eka ekin eka populate karana eka chater ha karadare
    Dataset deela thiyenne kahanawata newi ne..
    mulin filter karala dataset eka populate karanna eta passe dataset eka grid view ekata bind karana eka thamayi lesi..
    menna code eka

    DataTable allData = new DataTable();
    SqlCommand cmd = new SqlCommand("Select * from contactTable", Connection);
    cmd.CommandType = CommandType.StoredProcedure;
    Connection.Open();
    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
    adapter.Fill(allData);
    Connection.Close();
    contactTableTableAdapter.Update(allData);

    oken karaddi data view eka edit karala

    Save button eke

    contactTableTableAdapter.Update(allData)

    danna echcharai eke karana eka save wenawa

    lesiy ne :)
     

    BoraluGoda

    Member
    Jan 28, 2011
    486
    114
    0
    ::: GiRiPuRa :::
    ayyyooooo ube code eka diga... C#.net da use karanne?
    oka hena katta ban DataGrid view eka ekin eka populate karana eka chater ha karadare
    Dataset deela thiyenne kahanawata newi ne..
    mulin filter karala dataset eka populate karanna eta passe dataset eka grid view ekata bind karana eka thamayi lesi..
    menna code eka



    oken karaddi data view eka edit karala

    Save button eke

    contactTableTableAdapter.Update(allData)

    danna echcharai eke karana eka save wenawa

    lesiy ne :)

    C#.net thma. machan mama c# thaniyma igena ganna ekek, so mata uba kiypu dea tikak theruna madi...

    mata machn lable wala thiyna aawa n datadrid eke thiyna aawa okkoma satabase eke 1 table eka kata save karaganna oona.
     

    BoraluGoda

    Member
    Jan 28, 2011
    486
    114
    0
    ::: GiRiPuRa :::
    ayyyooooo ube code eka diga... C#.net da use karanne?
    oka hena katta ban DataGrid view eka ekin eka populate karana eka chater ha karadare
    Dataset deela thiyenne kahanawata newi ne..
    mulin filter karala dataset eka populate karanna eta passe dataset eka grid view ekata bind karana eka thamayi lesi..
    menna code eka



    oken karaddi data view eka edit karala

    Save button eke

    contactTableTableAdapter.Update(allData)

    danna echcharai eke karana eka save wenawa

    lesiy ne :)

    machan ubabsy da ?
     
  • Jun 3, 2011
    1,228
    263
    83
    මගේ ලෝකේ
    ayyyooooo ube code eka diga... C#.net da use karanne?
    oka hena katta ban DataGrid view eka ekin eka populate karana eka chater ha karadare
    Dataset deela thiyenne kahanawata newi ne..
    mulin filter karala dataset eka populate karanna eta passe dataset eka grid view ekata bind karana eka thamayi lesi..
    menna code eka



    oken karaddi data view eka edit karala

    Save button eke

    contactTableTableAdapter.Update(allData)

    danna echcharai eke karana eka save wenawa

    lesiy ne :)
    :yes::yes:
     

    smother

    Well-known member
  • Jan 27, 2009
    19,902
    1,483
    113
    36
    Six Feet Under
    Hope this will help u


    privatevoid btnInsert_Click(object sender, EventArgs e)
    { try
    {

    string col1 = datagridview1[0, datagridview1s.CurrentCell.RowIndex].Value.ToString();
    string col2 = datagridview1[1, datagridview1.CurrentCell.RowIndex].Value.ToString();
    string col3 = datagridview1[2, datagridview1.CurrentCell.RowIndex].Value.ToString();
    string insert_sql = "INSERT INTO YourTable(col1,col2,col3)VALUES('"+ col1 +"','"+ col2 +"','"+ col3 +"'");
    this.getcom(insert_sql);
    }
    catch(Exception ex)
    { Message.Box(ex);}
     
    Last edited:

    123buddy

    Active member
  • Aug 15, 2007
    251
    54
    28
    wennappuwa
    try this one

    foreach (dataGridView1 row in dataGridView1.Rows)
    {
    insertQuery("insert into abc(id,name,adderss)values("+row.cells["id"].Value+","+row.cells["name"].Value+","+row.cells["address"].Value+")");
    }
    //rest of the code
    private static SqlCommand Command1 = new SqlCommand();
    //rest of code
    public static int insertQuery(string query)
    {

    Command1.Parameters.Clear();
    Command1.Connection = cn;
    Command1.CommandText = query;
    Command1.CommandType = CommandType.Text;
    return Command1.ExecuteNonQuery();
    }

    this is some links
    Link1

    Link 2

    Link 3
     

    ad.hasareli

    Well-known member
  • Mar 27, 2010
    5,264
    580
    113
    දකුනේ කොල්ලෙක්
    for(int i=0; i< dataGridView1.Rows.Count;i++)

    { string StrQuery= @"INSERT INTO tableName VALUES (" + dataGridView1.Rows.Cells["ColumnName"].Value +", " + dataGridView1.Rows.Cells["ColumnName"].Value +");";
    try {

    SqlConnection conn = new SqlConnection(); conn.Open();

    using (SqlCommand comm = new SqlCommand(StrQuery, conn))

    { comm.ExecuteNonQuery();

    } conn.Close();

    }
     
    Last edited:

    king_pandukabaya

    Well-known member
  • Apr 20, 2010
    13,465
    891
    113
    Colombo
    දැන් නම් C# මොන ලබ්බක්වත් මතක නෑ මචන්. මීට අවුරුද්දකට කලින් මේක ඇහුවානම් මට හෙල්ප් එකක් දෙන්න තිබ්බා.

    මට මේක කියනවද මචන්, දැන් උඹ ඔය save කරන්නේ datagrid එකේ තියෙන values නම්. ඒ datagrid ඒකට values එන්නේ කොහොමද ?.

    මට තේරෙන හැටියටනම් උඹ කරලා තියෙන්නේ ORD_Class කියලා class එකක් අරගෙන ඒකේ set/get methods දාලා save method එකේදී ඒ ORD_Class එකෙන් instance එකක් හදලා ඒකට ඔය values ටික දාන එක නේද ? මේක නම් මට හිතෙන විදිහට හරියන්නේ නෑ. මොකද මචන් එකේ ගනනාවක් තියෙනවා නමුත් එකේ එක වෙලාවට හදන්නේ එක එකක් විතරයි.

    මේකට විසඳුම මට හිතෙන හැටියට මචන්, save method එකේදී datagrid හැම record එකක්ම datatable එකකට අරගෙන ඒ table එක pass කරන්න ORD_Class එකට

    public Boolean AddOrder(Datatable dt) { .... }
    set get methods ඕනම නෑ ORD_Class එකට එතකොට


    for(int count=0;count<dt.Rows.Count;count++)

    {



    public Boolean AddOrder(ORD_Class ordObj)
    {
    SqlConnection conn = new SqlConnection(connection);
    string sql = "INSERT INTO ORD_DATA (ORD_NO, ORD_ID, ORD_Date, CUS_Name, CUS_Address, CUS_Contact, PRO_Code, PRO_Name, PRO_Des, PRO_Price, PRO_Qty, ORD_LTotal) values (@ORD_NO1, @ORD_ID2, @ORD_Date3, @CUS_Name4, @CUS_Address5, @CUS_Contact6, @PRO_Code7, @PRO_Name8, @PRO_Des9, @PRO_Price10, @PRO_Qty11, @ORD_LTotal12)";
    conn.Open();
    SqlCommand cmd = new SqlCommand(sql, conn);

    cmd.Parameters.AddWithValue("@ORD_NO1", dt.[count][0].toString());


    ......

    ටිකක් මේක බලන්න. ඔය මට හිතිච්ච විදිහ. මම මේක test කලේ නෑ

    ඔච්චර දුක් විඳින්න ඕන නැත්තන් වහාම save method එකේම datagrid එක read කරන ගමන්ම database ඒක එකට කරන්න.

    එහෙමත් නැත්තන් stored procedure කියලා දෙයක් තියෙනවා. ඒකත් යොදාගන්න පුලුවන්. හැබැයි ඒකෙදි sql server එකේදිත් code කරන්න වෙනවා.

     
    Last edited: