Используя метод @ Lee.J.Baxter (который был великолепен, так как другие не работают для меня!), Я избежал метода расширения и просто добавил его внутри самой формы:
OleDbConnection con = new OleDbConnection(string.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='{0}'", DBPath));
OleDbCommand cmd = con.CreateCommand();
con.Open();
cmd.CommandText = string.Format("INSERT INTO Tasks (TaskName, Task, CreatedBy, CreatedByEmail, CreatedDate, EmailTo, EmailCC) VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}')", subject, ConvertHtmlToRtf(htmlBody), fromName, fromEmail, sentOn, emailTo, emailCC);
cmd.Connection = con;
cmd.ExecuteScalar();
using (OleDbCommand command = new OleDbCommand("SELECT @@IDENTITY;", con))
{
ReturnIDCast =(int)command.ExecuteScalar();
}
ПРИМЕЧАНИЕ: В большинстве случаев вы должны использовать Parameters вместо метода string.Format (), который я использовал здесь. Я просто сделал это на этот раз, так как это было быстрее, и мои значения вставки не поступают от ввода пользователя, поэтому это должно быть безопасно.