勉強のためにDBを使った簡単なものを作成しようと思っています。
環境はIIS 5.1にSQL Server 2005で作成しています。
使用しているのはmemberテーブルとcharacterテーブルで、
memberテーブルにはmemid、mempwd、Jewel等のカラムがあり、
characterテーブルにはid(memberのmemidと同じ)、Name、Money等のカラムがあります。
お金を換金ページで宝石に換金できるようにしたくフォーム入力とフォームデータのチェック&DB更新のページに分けて作成してみましたがDBの更新がうまくできません。
'フォームデータチェックとDB更新
userid = request.form("userid") 'アカウント
username = request.form("username") '換金する(お金が減る)キャラ名
userpass = request.form("userpass") 'パス
userjewel = request.form("userjewel") '換金する希望宝石数
usermoney = userjewel * 100
if userid<>"" and username<>"" then 'アカウント&キャラ名入力されているか?
set rsjewel = Server.CreateObject("ADODB.Recordset")
sqljewel="select * from member,character where mempwd = [dbo].[chk_md5]('"&userpass&"','"&userid&"') AND character.Name='"&username&"' AND character.id='"&userid&"'"
rsjewel.open sqljewel,conn,1,3
if rsjewel.eof or rsjewel.bof then 'アカウントやキャラクターのチェキ
response.write "<script language=javascript>alert('アカウントまたはパスワードまたはキャラクター名に誤りがあります');history.back()</script>"
response.end
else
if rsjewel("Money")<usermoney then 'お金が足りているかチェキ
response.write "<script language=javascript>alert('希望の宝石数に換金するためのお金がありません');history.back()</script>"
response.end
else
if rsjewel("Money")<usermoney then '宝石加算とmoney減算実行
rsjewel("Money")=rsjewel("Money")-usermoney
rsjewel("Jewel")=rsjewel("Jewel")+userjewel
rsjewel.update
response.write "<script language=javascript>alert('あなたの宝石は "&rsjewel("Jewel")&" 個になりました');location.href='index.asp';</script>"
response.end
end if '宝石加算とmoney減算実行
end if 'moneyが足りているかチェキ
end if 'アカウント&キャラ名チェキ
end if 'アカウント&キャラ名入力されているか?
rsjewel.close
set rsjewel=nothing
%>
クエリで
select * from member,character where mempwd = dbo.chk_md5('hogeid','hogepwd') AND character.Name='hogename' AND character.id='hogeid'
を実行するとデータが表示でき、
UPDATE character set Money=Money-1 where Name='hogename'
UPDATE member set Jewel=Jewel+1 where memid='hogeid'
どちらを実行してもちゃんとMoneyが1減ったり、Jewelが1増えたりしますが、
ASPで作成したページからは「あなたの宝石は 入力した希望数 個になりました」と表示されてもDBを見ると反映されていなかったり、
またはフォームからsubmitすると画面が真っ白になります(DBも更新されてない)
原因がわかる方いましたら教えていただけると助かります。
No.1ベストアンサー
- 回答日時:
こんちくは。
このパターン、あまり使わないからなぁ。自分は(汗
間違ってたらすいません。
>>rsjewel("Money")=rsjewel("Money")-usermoney
>>rsjewel("Jewel")=rsjewel("Jewel")+userjewel
rsjewel("Money").value=rsjewel("Money")-usermoney
rsjewel("Jewel").value=rsjewel("Jewel")+userjewel
こうかな。。。
http://msdn.microsoft.com/ja-jp/library/cc344614 …
自分のやるパターンだと、その都度、SQL文書くので、オープンしといたレコードセット値に突っ込んで。。。ってのはちっと分かりかねる部分があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP php エラー 2 2022/10/23 16:43
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBとアクセスでSQL文に変...
-
Access2007でアプリケーション...
-
手動または分散トランザクショ...
-
ExcelVBAからAccessMDB内のテー...
-
エクセルのテーブルを解除する...
-
Accessのフォームでリス...
-
任意の周波数の正弦波(サイン...
-
他のMDBのテーブルに追加したい
-
VBAで OLEオブジェクト型のフ...
-
ACCESS2010 実行時エラー 2766
-
SQLを発行とは?クエリの作成と...
-
COBOLのINVALID KEYが理解でき...
-
『列名 '担当者CD' があいま...
-
VB.NETからAccess内のデータベ...
-
VB.NET データセットとADOレコ...
-
(泣)VBscriptでinnerhtmlを使...
-
Excel複数シートをaccessへ一括...
-
asp.net mvcを利用する場合の複...
-
HTMLのテーブルの行数が多くな...
-
access2007 「#Deleted」
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBとアクセスでSQL文に変...
-
Accessで別mdbのテーブルをコピー
-
『列名 '担当者CD' があいま...
-
CSVファイルのエクスポートでソ...
-
AccessからExcelへエクスポート...
-
エクセルのテーブルを解除する...
-
手動または分散トランザクショ...
-
他のMDBのテーブルに追加したい
-
HTMLのテーブルの行数が多くな...
-
SQLを発行とは?クエリの作成と...
-
WORD VBA プログラム修正をお願...
-
ACCESS2010 実行時エラー 2766
-
Excel複数シートをaccessへ一括...
-
ACCESSのテーブル名をリストに...
-
アクセステーブル、リンクとロ...
-
.net 複数の主キーを設定する方法
-
MDBテーブルへの追加変更を教え...
-
Accessで宛名ラベルに同一宛先...
-
DataGridの中身をDataSetにテー...
-
COBOLのINVALID KEYが理解でき...
おすすめ情報