Как исправить синтаксическую ошибку (отсутствует оператор) с помощью visual studio 2019 с базой данных MS access
private void btnSave_Click(object sender, EventArgs e) { //Sale table { string str = "INSERT INTO Sales (Invoice,CustomerName,SaleDate,TotalAmt,VAT,Discount,TotalPayAmt,Paid,Balance) VALUES ("+ Invoice_tx.Text +", '"+ CustomerName_cb.Text +"', '"+ SaleDate_dt.Value.Date.ToString() +"', "+ TotalAmnt_tx.Text +", "+ VAT_tx.Text +", "+ Discount_tx.Text +", "+ TotalPayAmnt_tx.Text +", "+ Paid_tx.Text +", "+ Balance_tx.Text +") "; OleDbDataAdapter da = new OleDbDataAdapter(str, conn); //DataSet ds = new DataSet(); DataTable dt = new DataTable(); da.Fill(dt); } //SaleItem table for (int i = 0; i < metroGrid1.Rows.Count; i++) { string insertPur = "INSERT INTO SaleItems (Invoice,Pid,Product,Qty,Rate,Amount) VALUES ( " + Invoice_tx.Text + ", " + metroGrid1.Rows[i].Cells["Pid"].Value.ToString() + ", '" + metroGrid1.Rows[i].Cells["Product"].Value.ToString() + "', " + metroGrid1.Rows[i].Cells["Qty"].Value.ToString() + ", " + metroGrid1.Rows[i].Cells["Rate"].Value.ToString() + ", " + metroGrid1.Rows[i].Cells["Amount"].Value.ToString() + ") "; OleDbDataAdapter da = new OleDbDataAdapter(insertPur, conn); DataSet ds = new DataSet(); da.Fill(ds); } //Stock Table { for (int i = 0; i < metroGrid1.Rows.Count; i++) { OleDbDataAdapter da1 = new OleDbDataAdapter("SELECT * FROM Stock WHERE Pid= " + metroGrid1.Rows[i].Cells["Pid"].Value.ToString() + " AND Product= '" + metroGrid1.Rows[i].Cells["Product"].Value.ToString() + "' ", conn); DataSet ds1 = new DataSet(); da1.Fill(ds1); if (ds1.Tables[0].Rows.Count > 0) { //When Item exist in stock! string insertPur = "UPDATE Stock SET Qty= Qty- " + metroGrid1.Rows[i].Cells["Qty"].Value.ToString() + " Where Pid=" + metroGrid1.Rows[i].Cells["Pid"].Value.ToString() + " "; OleDbDataAdapter da = new OleDbDataAdapter(insertPur, conn); DataSet ds = new DataSet(); da.Fill(ds); } else { //When Item doesn't exist in stock! string insertPur = "INSERT INTO Stock (Pid,Product,Qty,Rate,Amount) VALUES (" + metroGrid1.Rows[i].Cells["Pid"].Value.ToString() + ", '" + metroGrid1.Rows[i].Cells["Product"].Value.ToString() + "', " + metroGrid1.Rows[i].Cells["Qty"].Value.ToString() + ", " + metroGrid1.Rows[i].Cells["Rate"].Value.ToString() + ", " + metroGrid1.Rows[i].Cells["Amount"].Value.ToString() + " ) "; OleDbDataAdapter da = new OleDbDataAdapter(insertPur, conn); DataSet ds = new DataSet(); da.Fill(ds); } } } MessageBox.Show("The Record Saved Successfully!", "SAVE", MessageBoxButtons.OK, MessageBoxIcon.Information); Clear(); ClearItems(); metroGrid1.Rows.Clear(); NewInvoice(); }
Что я уже пробовал:
Я пытался выполнить приложение много раз, но все еще не работает он показывает сообщение синтаксическая ошибка (отсутствует оператор) Я использовал базу данных MS Access и Visual Studio 2019, пожалуйста, помогите мне решить эту проблему