Вам необходимо указать имена столбцов в SQL, или последовательность значений должна быть точно такой же (число и порядок) со схемой по умолчанию для таблицы
OleDbCommand cmd = new OleDbCommand("insert into real (name, symbol, date, red, redby, redsell, sbintrabuy, sbtr1, sbtr2, sbtr3, sbintersell, sbtr1, sbtr2, sbtr3, rstl, green) values('" + Name + "','" + Symbol + "','" + Date + "','" + Red + "','" + RedBuy + "','" + RedSell + "','" + SBIntraBuy + "','" + SBTR1 + "','" + SBTR2 + "','" + SBTR3 + "','" + SBIntraSell + "','" + SBTR1 + "','" + SBTR2 + "','" + SBTR3 + "','" + RSTL + "','" + Green + "');", con);
Заменить жирным шрифтомстолбцы с правильными именами, рекомендуется явно указывать имена столбцов.
Строковые значения должны быть в одинарных квотах
Обычно вы должны написатьsql вот так:
cmd.Parameters.Add ("var", System.Data.OleDb.OleDbType.VarChar);cmd.Parameters ["var"]. Value = 'somevalue';
В вашем sql должно быть что-то вроде: "вставить в реальные (column1) значения (@var)".
====
Я обновил ответ, как указано выше, надеюсь, он может решить вашу проблему.