シングルクォテーションを含む文字列を更新するには

解決


旗国丸  2006-04-02 06:02:06  No: 94873

ADO初心者の旗国丸です。
環境は
VB6  
Microsoft ActiveX Data Objects 2.1 Library  (ADO)
SQLsever2000
ユーザ名  sa
パスワード  sa
テーブル  t_Data  
フィールドID  Codeはint型  , Nameはvarchar型  , Tankaはmoney型
txtcode.textはコードの入力
txtname.textとtxttanka.textはNameと単価の更新するデータを入力
   
これでまずMARCYRYサーバ(事務所内のサーバ)のSQLsever2000に接続し
コードを入力してそのコードと一致するテーブルのレコードを更新します。 
cn.excute("update t_data set Name = '"& txtname.text &"' , Tanka   = "& txttanka.text &" where Code = '"& txtCode.text &"' ")
しかしtxtname.textに’(シングルクォテーション)を含む文字列、例えば(that's)等ににすると
'"& txtname.text &"' 所で’を余分に認識してしまいエラーになります。
’を含む文字列もこのUpdate文で更新するにはどうしたらよいのでしょうか
今回もよろしければご教授お願いします。


魔界の仮面弁士  2006-04-02 08:09:29  No: 94874

このような処理においては、SQL 文に直接データを埋め込む事も可能ですが、
ADODB.Command と Parameters プロパティを使った方が安全ですよ。

> ’を含む文字列もこのUpdate文で更新するにはどうしたらよいのでしょうか
単一引用符を含む文字列を渡す方法に付いては、
SQL Server の Books Online に書かれています。下記を御覧下さい。

[文字データの使用] - SQL Server 2000
http://msdn.microsoft.com/library/ja/acdata/ac_8_con_03_7mch.asp

[char 型と varchar 型のデータの使用] - SQL Server 2005
http://msdn2.microsoft.com/ja-jp/library/ms175055.aspx


旗国丸  2006-04-12 06:52:31  No: 94875

長い間返答できなくてすいません。
旗国丸です。魔界の仮面弁士に紹介していただいた所を頼りにして。
ようやく解決できました。
ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加