C#が背後にあるASP.NETアプリケーションがあります。アプリケーションはWebServicesからデータを取得し、以下の更新を実行する必要があります。
sqlQueryString2 = "
UPDATE CI
SET
platform =@platform ,
wstart = @wstart,
wend = @wend,
model = @model,
productDescription = @productDescription,
scanflag = @scanflag
WHERE serial = @serial ";
Webサービスから特定の値が返されると、アプリケーションがループしているように見えることに気付きました。UPDATEが送信され、コミットされません。その後、更新が必要な場合は、次のループで再度取得されます。
SQL(Server 2005)でトレースを実行しましたが、これがサーバーに影響を与えています。
exec sp_executesql N'
UPDATE CI
SET
platform =@platform ,
wstart = @wstart,
wend = @wend,
model = @model,
productDescription = @productDescription,
scanflag = @scanflag
WHERE
serial = @serial ',N'
@serial nvarchar(11),
@platform nvarchar(23),
@wstart varchar(10),
@wend nvarchar(10),
@model nvarchar(24),
@productDescription nvarchar(35),
@scanflag nvarchar(1)',
@serial=N'H01170RAHS6',
@platform=N'Client Computer - Apple',
@wstart=N'05/09/2011',
@wend=N'05/09/2012',
@model=N'iMac (20-inch, Mid 2009)',
@productDescription=N'IMAC 20"/2.26/2X1GB/160GB/SD/MSE/KB',
@scanflag=N'Y'
productDescriptionの単一の二重引用符がそれをスローしているのではないかと思いますが、それを取り除いたり、(in。)に置き換えたりしようとしていたときのバガーがいました。その面での私の問題の一部は、WebServicesサーバーによって入力されたときに保存された値がエスケープされていることだと思います。時計では「IMAC20 \ "/ 2.26 / 2X1GB / 160GB / SD / MSE/KB」と表示されます。リスト。エスケープされた引用符とエスケープされていない引用符をString.ReplaceとRegExステートメントに置き換えてみました。TBH引用符が正しい方向に進んでいるかどうかさえわかりません。すべてのリターンには1つが含まれ、すべてがループするわけではありません。