Я получаю синтаксическую ошибку при отправке параметризованного запроса в Access из моей программы на C # через ADO.NET.
Я, конечно, знаю, какую строку SQL я включил в свой код, с именами параметров, встроенными внутрь.
Кто-нибудь знает, как я могу посмотреть на строку SQL, которая, наконец, отправляется в СУБД после вызова cmd.ExecuteNonQuery
?
Спасибо.
EDIT:
Нет способа увидеть эту строку в интерактивном отладчике или в журнале доступа или что-то еще?
Для того, чтобы кто-нибудь мог воспроизвести мою точную проблему, у него должна была быть моя база данных, чего не произойдет. Однако, поскольку был проявлен интерес к деталям того, что я пытаюсь сделать, я публикую следующий фрагмент кода:
OdbcCommand cmd = new OdbcCommand();
cmd.CommandText =
@"insert into Posts (Page, Line, TimeStamp, Status) values
(@pagename, @lineno, @now, 'SAVED')";
cmd.Connection = _cn;
cmd.Transaction = transaction;
cmd.Parameters.Add(new OdbcParameter("@pagename",OdbcType.VarChar));
cmd.Parameters.Add(new OdbcParameter("@lineno",OdbcType.VarChar));
cmd.Parameters.Add(new OdbcParameter("@now",OdbcType.DateTime));
cmd.Parameters["@pagename"].Value = pageId;
cmd.Parameters["@lineno"].Value = lineId;
cmd.Parameters["@now"].Value = now;
cmd.ExecuteNonQuery();
Надеюсь, это поможет.
Еще раз спасибо.
EDIT:
Мне приходит в голову, что TimeStamp может быть зарезервированным словом в AccessSQL, и это, вероятно, является причиной синтаксической ошибки. Однако, даже если предположить, что это является причиной, общий вопрос о том, как увидеть SQL-запрос в окончательном виде, остается открытым.