2011-01-21 2 views
0

procの最終的な選択順序に応じて、格納されているprocからnullsを返す古典的なaspシステム(grrr)をサポートする必要があります。 私は、すべてのフィールドで働くものが得られるまで選択された注文を揺さぶってこれに対処していました...残念ながら、今は別のマシンで別々に動作することに決めました。classic asp ado選択した注文に応じてフィールドを格納するproc drops

かなり基本的なASP:

' ORDER ITEMS 
sSQL = "ProcName " & Order_ID 

Dim iRowCount : iRowCount = 0 
set objConn = Server.CreateObject("ADODB.Connection") 
objConn.Open Application("admin_ConnectionString") 

set rs = objConn.execute(sSQL) 

if not rs.eof then 
    ' Just doing this set thing to try and stop stupid ADO dropping fields !! 
    ' The final select in the proc decides whether things will appear or disappear... 
    set iQtyRequired = rs("QuantityRequired") 

do until rs.eof 
    iQtyOutstanding = iQtyRequired - iQtyFulfilled 

SQLは、公正のWITH処理量、カーソルを選択し、最終的なを持っています

SELECT DispatchDate, ProposedDispatchQty, ... 
FROM @OrderItems  

私が選択し、別のフィールドの順序を変更した場合でしょう」彼らはまだネットとSQL管理スタジオにあります。私はそれが何を引き起こすかについて一貫性を得ることはできません、多くのように思われます、私は20種類の組み合わせを試して、20種類のブランクを取得します。

私は黙ってどこかで爆破しているようですね(デート扱いですか?)。誰もが一貫性を得るための良い提案を得ましたか?事前に(離れてC#でそれを書き換えるから)

乾杯 - シェーン:)

+0

あなたは明確にできます:あなたの代わりにヌルの0を返すようにPROCを変更することはできますか?フィールドがnullであるかどうかを確認するだけでいいのですが:isnull(rs( "QuantityRequired"))then ... –

+0

ポイントがありません - そこにデータがあります(プロファイルSQL - mgmt studioで実行)しかし、それは?ADOによって落とされます。 – sparau

+0

オハイオ州私はあきらめました - スコープの問題がある場合には、ページ上のすべての変数の名前を変更しようとしました。変更はありませんので、私はページのために必要なprocの部分を切り取って、新しいものにコピーしました。問題は消えた! – sparau

答えて

1

ntext型の列を扱うとき、私はすでに過去の問題のようなものを直面してきました。私は最後にntext列を選択しなければならなかったし、それは仕事をするだろう。接続文字列を変更することもできます。

チェックアウトこの質問、あなたと全く同じ問題を:SQL Server text column affects results returned to classic ASP

+0

Thx for that - ntextカラムなしvarchar(max)は最も近いが、ODBCを使用している。私はそれを壊れた状態に戻し、接続をテストします。 – sparau

+0

私はこれもTEXT列で持っていました。 ASPが正しい順序(最後のTEXT)でレコードセットフィールドにアクセスした場合、SELECTの列の順序を変更せずに取得できます。奇妙な! –

関連する問題