タイトル | : Re: リッチテキストのデータ |
記事No | : 12229 |
投稿日 | : 2008/05/08(Thu) 20:25 |
投稿者 | : 魔界の仮面弁士 |
要は、 UPDATE Table Set Field = 'I am a boy.' は OK でも、 UPDATE Table Set Field = 'I'm a boy.' は NG だ、という話ですよね。
対処方法としては、「'」等をエスケープして UPDATE Table Set Field = 'I''m a boy.' とすれば動作しますが、こういう場合には、ADODB.Parameter を使った方が良いでしょう。
手元に SQL Server が無いのでうろ覚えですが、ADODB.Command オブジェクトを使って Set cmd.ActiveConnection = cn cmd.CommandText = "UPDATE Table SET RTF = ? WHERE ID = ?" などとしておいて、 cmd.Parameters(0).Value = RTF1 cmd.Parameters(1).Value = ID1 cmd.Execute cmd.Parameters(0).Value = RTF2 cmd.Parameters(1).Value = ID2 cmd.Execute のようにして実行すれば良かったような気が。あるいは、省略構文として cmd.Execute , Array(RTF3, ID3) cmd.Execute , Array(RTF4, ID4) とか。
なお、パラメータの定義は、cmd.Refresh すれば取得されますが、 パフォーマンス重視の場合は、CreateParameter メソッドで定義してください。
|