Я пытаюсь опубликовать дату в столбце dateTime в базе данных SQL Server 2008 R2, но у меня возникло много проблем, которые я не знаю, каковы причины.
Сначала я использовалэтот код, но я получил ошибку: невозможно преобразовать строку в дату.
ADOOF.SQL.Text:='UPDATE OFTab SET CA='''+ CA.Text + ''', demandeClient=''' + DateTimeToStr(demandeClient.DateTime) + ''' WHERE ID='''+ ADOOF.FieldByName('ID') + '''';
ADOOF.ExecSQL;
Во-вторых, я использовал параметры:
ADOOF.SQL.Text:='UPDATE OFTab SET CA='''+ CA.Text + ''', demandeClient=:demande_client WHERE ID='''+ ADOOF.FieldByName('ID') + '''';
ADOOF.Parameters.ParamByName('demande_client').Value:= demandeClient.Date;
ADOOF.ExecSQL;
Но я получил ошибку: Параметр (demande_client) нетнайдено.
Я погуглил эту проблему и нашел предложение Embarcadero о том, что параметры должны быть созданы перед вызовом ADOQuery, например:
ADOOF.SQL.Text:='UPDATE OFTab SET CA='''+ CA.Text + ''', demandeClient=:demande_client WHERE ID='''+ ADOOF.FieldByName('ID') + '''';
ADOOF.Parameters.ParseSQL(ADOOF.SQL.Text, True);
ADOOF.Parameters.ParamByName('demande_client').Value:= demandeClient.Date;
ADOOF.ExecSQL;
Точно удалил соединение. Сохранять информацию о безопасностино всегда одна и та же проблема.Пожалуйста, любые предложения.
ИНФОРМАЦИЯ: Я использую MICROSOFT OLE DB Provider для SQL Server.