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)が見つかりません。
私はこの問題をGoogleで検索し、私は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-OleDB経由の任意のデータベースへのダイレクトアクセスのためのユニット)、ADO、DB.pasユニットなどへのドライバや依存性なしでSQL Serverの直接アクセス用に最適化されています)。それは 'Connection.ExecuteNoResult( 'UPDATE OFTAB SET CA = ?, demandeClient =?WHERE ID =?'、[CA.Text、demandeClient.DateTime、ADOOF.FieldByName( 'ID')])のような' TDateTime'パラメータを直接処理します。 。 –