16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"メモ型のパラメータに値を渡す"
{
TStoredProcやTQueryで、SQLパラメータをParamByNameで渡したい
とき、メモ型の場合、注意が必要です。
ParamByName('***')AsMemo := Memo.Linesや、.Assign(Memo.Lines)
などで、MEMO型のデータをコントロールから直接にわたせないからです。
というのも、ParamByName('***').AsMemoの返値がString型なんですね。
なんじゃそりゃ?もうちょっと親切にしといてほしかったなって感じで
すね。ということで、TStrings型のプロパティ、「Text」を使います。
これは、改行コードなども含めて、長い文字列がとれるプロパティです。
例中の「EXPLAIN」パラメータに渡す行を参照ください。これはデータ
ベース以外でも、TStrings型の全体のデータをString型のデータにぶち込
みたい(結構乱暴ですけど ^^;)時に重宝します。フィルターつくるま
でもないんで楽ですね。
.....コリャ石のほうだなあ(^^;;。みんなこういう方法やってるかわか
んないし。
}
with InputDataProc do
begin
Close;
Prepare;
ParamByName('LAWNAME').AsString := LawNameCombo.Text;
ParamByName('KEYWORD').AsString := KeywordCombo.Text;
ParamByName('RANK').AsInteger := StrToInt(RankEdit);
ParamByName('EXPLAIN').AsMemo := ExplainMemo.Lines.Text;//<-これ
ExecProc;
UnPrePare;
end;
まさたか(VZF03733)
Original document by まさたか 氏 ID:(VZF03733)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|