出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
![]() ![]() ![]() ![]() ![]() |
![]() ![]() ![]() |
![]() ![]() |
[3731] AddNewでレコードの追加される列について |
投稿者:ちびたさん 2003/10/14 15:20:39 |
はじめましてちびたと申します。 DBはAccess2000を使用しています。 質問ですが、同名の5個のテキストボックス <INPUT name ="pet<%=count%>" Value="<%=rs.Fields("Pet_D")%>"></INPUT> に入力された文字をFor文で回し、DBに追加し、もう一度読み込むと いうことをしています。 そのときデータは入力のときとは同じ順序で表示されず、一番上のテキストボックスに入力されていたものが最後のテキストボックスに入ります。 DBへのレコードの追加はどういう順番で行われるのでしょうか。 どなたか教えていただけませんでしょうか。 |
[3736] Re:AddNewでレコードの追加される列について |
投稿者:YasNet(管理人)さん 2003/10/16 9:06:40 |
こんにちは YasNet(管理人)です。 処理内容が良くわからないので、その部分のソースを公開しませんか? それでは 失礼致します。 > はじめましてちびたと申します。 > DBはAccess2000を使用しています。 > > 質問ですが、同名の5個のテキストボックス > <INPUT name ="pet<%=count%>" Value="<%=rs.Fields("Pet_D")%>"></INPUT> > に入力された文字をFor文で回し、DBに追加し、もう一度読み込むと > いうことをしています。 > そのときデータは入力のときとは同じ順序で表示されず、一番上のテキストボックスに入力されていたものが最後のテキストボックスに入ります。 > DBへのレコードの追加はどういう順番で行われるのでしょうか。 > どなたか教えていただけませんでしょうか。 |
[3758] Re:AddNewでレコードの追加される列について |
投稿者:ちびたさん 2003/10/24 9:50:35 |
少し時間が空いてしまいまして申し訳ございませんでした。 ソースを公開します。 PetAdd.aspで <% Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "PetDB" sql = "select * from M_Pet where PetCD ='"& o_PetCD &"' AND PetClass = '0'" Set rs = objConn.Execute(sql) reccount = 0 do while not rs.eof %> <INPUT SIZE=4 name ="h_cd<%=reccount%>" Value="<%=rs.Fields("PetCD")%>"></INPUT>: <INPUT SIZE=10 name ="h_name<%=reccount%>" Value="<%=rs.Fields("PetNM")%>"></INPUT><BR> <% reccount = reccount + 1 rs.MoveNext loop %> <INPUT SIZE=4 name ="h_cd<%=reccount%>" Value=""></INPUT>: <INPUT SIZE=10 name ="h_name<%=reccount%>" Value=""></INPUT> <% Set rs = nothing %> です。 以上のActionで最後のinputboxに入力された内容が追加登録され、もう一度PetAdd.aspへリダイレクトします。 すると、読み込んだレコードの一番最後は追加したものがであると思われるのですが、一番最最後のinputboxに表示されているのは先頭に表示されていたデータで、追加したものは最後から2番目に表示されています。 更新処理は、一度テーブルのデータを全て削除してkousin.aspで s_Pet = Request("PetCD") j_class = Request("Sel_Class") Set rs = Server.CreateObject("ADODB.Recordset") rs.Open "M_Pet","DSN=PetDB",adOpenKeyset,adLockOptimistic For i = 0 To reccount - 1 s_cd = Request("h_cd"&i) s_name = Request("h_name"&i) If s_cd<>"" Then rs.AddNew rs("PetCD").Value = s_Pet rs("PetNM").Value = s_name rs("PetClass").Value =j_class rs("UpdateDT").Value =Date rs.Update End if Next objConn.close です。 AccessのDBを開いてみても追加したデータが一番下のレコードにあるのですが、リダイレクトの表示で後ろから2番目になるのはなぜなのでしょうか。 どなたか教えていただけませんでしょうか。 よろしくお願いいたします。 |
TreeBBS For ASP V.0.1.3 |