none
update DataGridView (General question) RRS feed

คำตอบ

  • อัพเดทข้อมูลใน database จาก DataGridView โดยใช้อีก Form หนึ่ง

     

    Form1 Prerequisites:

    1) Form1 จะมี DataGridView1 และ Button1 (ใช้เปิด Form2)

    2) เปิด Form1.Designer.cs และเปลี่ยน modifier ให้เป็น public

    public System.Windows.Forms.DataGridView dataGridView1;

    3) Form1.cs ตัวอย่างโค้ด:

    publicOleDbDataAdapter myDA;

    public DataSet myDataSet;

    private void Form1_Load(object sender, System.EventArgs e)

    {

    OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.jet.oledb.4.0;data source=|DataDirectory|\StaffDB.mdb");

    OleDbCommand cmd = new OleDbCommand("SELECT * FROM Staff", con);

    con.Open();

    myDA = new OleDbDataAdapter(cmd);

    // Here one CommandBuilder object is required.

    // It will automatically generate DeleteCommand,UpdateCommand and InsertCommand for DataAdapter object

    OleDbCommandBuilder builder = new OleDbCommandBuilder(myDA);

    myDataSet = new DataSet();

    myDA.Fill(myDataSet, "MyTable");

    dataGridView1.DataSource = myDataSet.Tables["MyTable"].DefaultView;

    con.Close();

    con = null;

    }

    // Open Form2 and pass Form1 instance

    private void button1_Click(object sender, System.EventArgs e)

    {

    Form2 f2 = newForm2(this);

    f2.Show();

    }

     

    Form2 Prerequisites:

    1) Form2 จะมี Button1 (เอาไว้ใช้ update ข้อมูลใน database)

    2) Form2.cs ตัวอย่างโค้ด:

    privateForm1 form1Ins;

    //Pass Form1 instance to Form2

    public Form2(Form1 f)

    {

    InitializeComponent();

    form1Ins = f;

    }

    //The Update button on Form2

    private void button1_Click(object sender,EventArgs e)

    {

    //Edit DataGridView cell value in code or directly edit in DataGridView

    form1Ins.dataGridView1.Rows[1].Cells[1].Value = "555";

    //Update data back into database

    form1Ins.dataGridView1.EndEdit();

    form1Ins.myDA.Update(form1Ins.myDataSet, "MyTable");

    form1Ins.myDataSet.AcceptChanges();

    }

     

     

     


    Supa Sethasiripong [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • ทำเครื่องหมายเป็นคำตอบโดย supa_sModerator 31 สิงหาคม 2554 3:17
    30 สิงหาคม 2554 3:43
    ผู้ดูแล