我试图将日期发布到SQL Server 2008 R2数据库中的dateTime列,但我遇到了许多问题,我不知道是什么原因.
首先,我使用此代码,但我收到错误:无法将字符串转换为日期.
ADOOF.SQL.Text:='UPDATE OFTab SET CA='''+ CA.Text + ''', demandeClient=''' + DateTimeToStr(demandeClient.DateTime) + ''' WHERE ID='''+ ADOOF.FieldByName('ID') + '''';
ADOOF.ExecSQL;
Run Code Online (Sandbox Code Playgroud)
其次,我使用了参数:
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;
Run Code Online (Sandbox Code Playgroud)
但是我得到了错误:找不到参数(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;
Run Code Online (Sandbox Code Playgroud)
我删除了连接Persist Security Info,但总是遇到同样的问题.请,任何建议.
信息:我正在使用MICROSOFT OLE DB Provider for SQL Server.