| Date: Tue, 15 Mar 2005 19:01:35 +0900
 From: Jun Hamano <who@example.jp>
 
 
 
濱野です。
who@sub.example.jp wrote:
> お世話になっています。鈴木です。
> 
> 皆さん、レスありがとうございます。
> 別件のトラブル対応で返事が遅くなりました。m(__)m
> 
> 兵頭様
> > Set ObjRs = Nothing
> > をWhileの中の処理の最後に入れてみては
> > いかがでしょうか?
> 
> 入れてみましたが結果は同じでした。
> 別のところに原因がありそうです。
う〜ん私もやはり、
ObjRs.Close
はその都度入れたほうが良さそうな気がしますね。
それと、レコードの存在をチェックするなら、
SELECT * FROM より、SELECT COUNT(*) FROM で0かそれ以外が返ってくるか
チェックした方がよさそうです。
ちょっと書き換えてみました。
<%
	Set conn = Server.CreateObject("ADODB.Connection") 
	conn.ConnectionString = "Provider=SQLOLEDB;" & _ 
                                "User ID=XXX;" & _ 
                                "Password=XXXXXX;" & _ 
                                "Data Source=XXXXXX;" & _ 
                                "Initial Catalog=DBXXXX"
	conn.open
	fp = Request("fpath")
	Set fso = Server.CreateObject("Scripting.FileSystemObject")
	Set rso = fso.OpenTextFile(fp,1)
	Set rs = Server.CreateObject("ADODB.Recordset")
	i = 1
	jancdChk = True
	Do Until rso.AtEndofStream
		dt = rso.ReadLine
		readdt = Split(dt,",")
		jancd = Trim(readdt(1))
		sqldt = "SELECT COUNT(*) AS CNT FROM 商品マスタ WHERE JANCD = '" & jancd & "'"
		rs.Open sqldt, conn, 3
		If rs("CNT").value = 0 then
			jancdChk = False
			rs.Close
			Exit Do
		End if
		i = i +1
		rs.Close
	Loop
	If jancdChk = False Then	'商品マスタエラー
		Response.Write "商品マスタに存在しません JANCD=" & jancd & " No=" & i
	End If
	Set rs = Nothing
	conn.Close
%>
 
 
| [MSDE/SQLServerに関して、今、どんなことにお困りですか?] |  | よろしければお困りの内容を、電子メールで教えて下さい。 |  | 質問を電子メールで作成する |  
 [ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
  
                                 
                       |