使用Datagridview中的复选框插入多个数据

时间:2016-12-21 16:04:29

标签: c# excel datagridview

我想通过检查CheckBox中的DataGridView来考虑向Excel插入多个数据。我这样做了但它仍然给出了错误。它说:

  

查询输入必须至少包含一个表或查询。

实际上,Excel中的表格是正确的,但错误仍然始终显示。任何人都可以帮助我吗?

string konekpengisian2 = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\Data Pengisian SLA Surabaya\\" + new System.Globalization.CultureInfo("id-ID").DateTimeFormat.GetDayName(DateTime.Now.DayOfWeek) + "_" + System.DateTime.Now.Date.ToString("dd MMM yyyy", new System.Globalization.CultureInfo("id-ID")) + ".xlsx" + ";Extended Properties='Excel 12.0 xml;HDR=NO;'";

private void MoveToScheduleBtn_Click(object sender, EventArgs e)
{
    foreach (DataGridViewRow item in ReviewGV.Rows)
    {
        if (Convert.ToBoolean(item.Cells[0].Value) == true) //Convert.ToBoolean(item.Cells[0].Value) == true
        {
            //try
            //{
            DialogResult dialogResult = MessageBox.Show("Apakah Anda yakin memasukkan WSID tersbeut ke Jadwal Pengisian ?", "", MessageBoxButtons.YesNo);

            if (dialogResult == DialogResult.Yes)
            {
                OleDbConnection kon = new OleDbConnection(konekpengisian2);
                OleDbCommand command = kon.CreateCommand();
                kon.Open();
                command.CommandText = "INSERT INTO [Schedule$] ([WSID], [Lokasi], [Cass A Den 50], [Cass B Den 50], [Cass C Den 100], [Cass D Den 100], [Reject], [Saldo]) VALUES (wsid, lokasi, cassa, cassb, cassc, casdd, reject, saldo) WHERE [WSID] = '" + item.Cells[1].Value + "'";
                command.Parameters.AddWithValue("wsid", item.Cells[1].Value);
                command.Parameters.AddWithValue("lokasi", item.Cells[2].Value);
                command.Parameters.AddWithValue("cassa", item.Cells[3].Value);
                command.Parameters.AddWithValue("cassb", item.Cells[4].Value);
                command.Parameters.AddWithValue("cassc", item.Cells[5].Value);
                command.Parameters.AddWithValue("cassd", item.Cells[6].Value);
                command.Parameters.AddWithValue("reject", item.Cells[7].Value);
                command.Parameters.AddWithValue("saldo", item.Cells[8].Value);
                command.ExecuteNonQuery();
                kon.Close();

                MessageBox.Show("Data berhasil dipindah ke Jadwal Pengisian !");
            }
            if (dialogResult == DialogResult.No)
            { 
                //do nothing
            }                    
        }
    }
}

1 个答案:

答案 0 :(得分:0)

试试这个

"INSERT INTO [Schedule$] ([WSID], [Lokasi], [Cass A Den 50], [Cass B Den 50], [Cass C Den 100], [Cass D Den 100], [Reject], [Saldo]) VALUES (wsid, lokasi, cassa, cassb, cassc, casdd, reject, saldo)
如果你没有更新,

不需要where子句。