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文で更新するにはどうしたらよいのでしょうか
今回もよろしければご教授お願いします。
このような処理においては、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
長い間返答できなくてすいません。
旗国丸です。魔界の仮面弁士に紹介していただいた所を頼りにして。
ようやく解決できました。
ありがとうございます。
ツイート | ![]() |