SQL Server 2008 R2 데이터베이스의 dateTime 열에 날짜를 게시하려고하지만 원인을 알 수없는 많은 문제가 있습니다.SQL Server 2008 R2에서 Delphi 업데이트 DateTime 열
먼저이 코드를 사용했지만 오류가 발생했습니다. 문자열을 날짜로 변환 할 수 없습니다.
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) 찾을 수 없습니다.
나는이 문제를 봤와 나는 parametres이 같은 ADOQuery를 호출하기 전에 만들 수 sould 말하는 엠바 카데로에 의해 제안을 발견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;
는 미세 나는 연결이 보안 정보하지만 항상 동일한 문제가 지속 제거. 제발, 어떤 제안.
INFO : SQL Server 용 MICROSOFT OLE DB 공급자를 사용하고 있습니다.
구성 요소는 없지만 원시 SQL 실행을 원하면 [우리의 오픈 소스 클래스] (http://blog.synopse.info/post/2011/06)를 살펴보십시오./27/SynOleDB % 3A-OpenSource-Unit-Direct-Access-to-any-OleDB를 통한 데이터베이스) SQL 서버 직접 액세스에 최적화되어 있습니다 (ADO, DB.pas 유닛 및 기타). 그것은 'Connection.ExecuteNoResult ('UPDATE OFTAB SET CA = ?, demandeClient =? WHERE ID =? ', [CA.Text, demandeClient.DateTime, ADOOF.FieldByName ('ID ')])와 같은'TDateTime' 매개 변수를 직접 처리합니다. . –