三流君(TOP) /ASPで遊ぶ /記事一覧

連続登録のチェックと初回の時はレコードを作成

test044-2.asp

連続登録のチェックを行います。
受取った値は
受取ったパラメータが異常です
テスト用(連続で押して、チェックしてください)
test044-2.asp?KUBUN=ASP&NO=44&A=5
test044-2.asp?KUBUN=ASP&NO=45&A=4
test044-2.asp?KUBUN=VBA&NO=1&A=3
test044-2.asp?KUBUN=VBA&NO=2&A=2
test044-2.asp?KUBUN=24H&NO=44&A=1



コーヒーブレイク たまには寄り道、休憩も(↓広告です):
広告:[2009年度カレンダー] ← 人気のカレンダーを紹介
[カレンダー商品一覧] ← そろそろ来年の準備

ASPサンプルソース(プログラムのソースコード)

詳細解説は[http:/asp/backno/asp044.html]を見てください
下記、/cgi-bin/test/test044-2.aspのソース(中身)です

を 使った ソースコードを紹介する

表示色の説明:ASP VBScriptは <% 〜 %>
キーワードは です。 <%@LANGUAGE=VBScript%> <% Response.CacheControl = "no-cache" %> <% Response.AddHeader "Pragma", "no-cache" %> <% Response.Expires = -1 %> <html> <head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis"> <title>連続登録のチェックと初回の時はレコードを作成</title> </head> <body> <h2>連続登録のチェックと初回の時はレコードを作成</h2> test044-2.asp<br> <hr> 連続登録のチェックを行います。 <hr> <% '値の代入 KUBUN = Request.QueryString("KUBUN") NO = Request.QueryString("NO") A = Request.QueryString("A") 'テストで値を表示 Response.Write "<Font Color='BLUE'>受取った値は</Font><BR>" 'For Each で Request.QueryStringの値を取出す For Each RQ In Request.QueryString Response.Write RQ & "=" '名称表示 Response.Write Request.QueryString(RQ) & "<BR>" '値の表示 Next 'パラメータのチェックを行う ret = errchk() 'チェック用の関数を呼ぶ If ret = -1 Then 'エラーか? Response.Write "<Font Color='red'>" Response.Write "受取ったパラメータが異常です" Response.Write "</Font>" Else '正常時 Response.Write "パラメータは正常です<hr>" ret = cntDATA() '連続登録のチェックとデータ加算 If ret = -1 Then Response.Write "<Font Color='red'>" Response.Write "連続投票はできません" Response.Write "</Font>" End If End If %> <hr> テスト用(連続で押して、チェックしてください)<br> <A HREF="test044-2.asp?KUBUN=ASP&NO=44&A=5">test044-2.asp?KUBUN=ASP&NO=44&A=5</A><br> <A HREF="test044-2.asp?KUBUN=ASP&NO=45&A=4">test044-2.asp?KUBUN=ASP&NO=45&A=4</A><br> <A HREF="test044-2.asp?KUBUN=VBA&NO=1&A=3">test044-2.asp?KUBUN=VBA&NO=1&A=3</A><br> <A HREF="test044-2.asp?KUBUN=VBA&NO=2&A=2">test044-2.asp?KUBUN=VBA&NO=2&A=2</A><br> <A HREF="test044-2.asp?KUBUN=24H&NO=44&A=1">test044-2.asp?KUBUN=24H&NO=44&A=1</A><br> <br> <br> </body> </html> <% '外側に関数を書いてます(どこでもいいんだけど) Function errchk() 'パラメータのエラーをチェックします 0:正常 -1:エラー errchk = 0 'エラーを無しにする(初期値で代入) 'KUBUN が 無し(スペース) If Len(KUBUN) = 0 Then errchk = -1 'NO が無し Or 0の時 If Len(NO) = 0 Then errchk = -1 If CInt(NO) = 0 Then errchk = -1 'A か 1〜5以外の時(範囲外の時) If A < 1 Or 5 < A Then errchk = -1 End Function Function cntDATA() '連続登録のチェックとデータ加算 0:正常 -1:エラー 'ADO DB Connection オブジェクトを作成する Set db=Server.CreateObject("ADODB.Connection") 'データアクセスにはJet.OLEDB.4.0を使うことを設定 db.Provider = "Microsoft.Jet.OLEDB.4.0" '次に、接続DBの位置を渡すので、Server.MapPathで変換して渡す db.ConnectionString = Server.MapPath("db044.mdb") 'やっとデータベースを開ける db.open '検索するSQLを作成する strSQL = "Select * From ans " strSQL = strSQL & "Where KUBUN = '" & KUBUN & "' And MNO = " & NO 'オマケで画面にデータ表示 Response.Write "<hr>発行する(した)SQL文は<br><B><font color='green'>" Response.Write strSQL & "</font></B><br>です<hr>" Set rs = db.Execute(strSQL) 'SQL文を発行してレコードセットを作成 If rs.EOF = True Then 'データが見つからなかった時 strINSSQL = "INSERT INTO ans (KUBUN, MNO) VALUES (" strINSSQL = strINSSQL & "'" & KUBUN & "'" '区分 strINSSQL = strINSSQL & ", " & NO & ")" 'NO 'オマケで画面にデータ表示 Response.Write "<hr>発行する(した)SQL INSERT文は<br><B><font color='green'>" Response.Write strINSSQL & "</font></B><br>です<hr>" 'SQL INSERT文を発行 db.Execute(strINSSQL) Else 'データ在りの時 '前回のIPアドレスと同じかチェックする If rs("IP") = Request.ServerVariables("REMOTE_ADDR") Then cntDATA = -1 'エラーにする rs.Close Exit Function '関数を途中で抜ける End If End If rs.Close 'レコードセットを閉じる 'UPDATEのSQL文を作成する strUSQL = "UPDATE ans Set " 'ansテーブルを更新 strUSQL = strUSQL & "IP = '" & Request.ServerVariables("REMOTE_ADDR") & "'" strUSQL = strUSQL & ", WriteTime = #" & Now & "#" strUSQL = strUSQL & ", A" & A & " = A" & A & " + 1" 'カウントアップ strUSQL = strUSQL & " Where KUBUN = '" & KUBUN & "' And MNO = " & NO '条件 'オマケで画面にデータ表示 Response.Write "<hr>発行する(した)SQL UPDATE文は<br><B><font color='green'>" Response.Write strUSQL & "</font></B><br>です<hr>" 'SQL文を発行 db.Execute(strUSQL) '更新結果を読み直す Set rs = db.Execute(strSQL) 'SQL文を発行してレコードセットを作成 Response.Write "更新結果<br>" Response.Write "KUBUN=<b>" & rs("KUBUN") & "</b><br>" Response.Write "MNO=<b>" & rs("MNO") & "</b><br>" Response.Write "A5=<b>" & rs("A5") & "</b><br>" Response.Write "A4=<b>" & rs("A4") & "</b><br>" Response.Write "A3=<b>" & rs("A3") & "</b><br>" Response.Write "A2=<b>" & rs("A2") & "</b><br>" Response.Write "A1=<b>" & rs("A1") & "</b><br>" Response.Write "IP=<b>" & rs("IP") & "</b><br>" Response.Write "WriteTime=<b>" & rs("WriteTime") & "</b><br>" 'リターン値をセットして関数終了 cntDATA = 0 '正常終了 End Function %>

プログラミングの書籍を紹介します

  1. [4797347376]- ローポリ スーパーテクニック
  2. [4797327928]- 新版 明解C言語 入門編
  3. [4822283585]- UMLモデリング入門 本質をとらえるシステム思考とモデリング心理学
  4. [4839919844]- 30日でできる! OS自作入門
  5. [4797344520]- Eclipseで学ぶはじめてのJava
  6. [4844323385]- 徹底攻略 Java2 プログラマ問題集 Platform5.0 対応 (ITプロ/ITエンジニアのための徹底攻略)

評価や感想気軽に送っていただけると嬉しいです

HPを読んだ満足度(評価)は?
5満足(参考になった)
4まぁまぁ(一部参考になった)
3普通(どちらとも言えない)
2なんかなぁ(期待と違った)
1不満(読んで損した気分)
作者に感想・質問を送る(気軽に質問・感想書いてください)
あなたのお名前(ニックネーム) さん

作者からの返信は、 不用 E-mail で受信したい
*質問・感想はメルマガで紹介する場合があります
※Ken3への連絡先 → [メール@アドレス]です。気軽に問い合わせてください

Googleで関連項目を検索する

LANGUAGE=VBScript + [キーワード:] Sub|Function プログラム|プログラミング
↓で検索するとプログラムの例 Sub/Function でまとまったHP

Google

あれ?私のページが検索に載ってない(笑)一度お試しを(私のページに、また戻ってきてね(爆))

三流解説とリンクページを紹介

ASP系の解説を項目ごとにまとめてみました

[ASP Form等を使用したデータのやり取り]
[ASP その他処理サンプル]
[ASP テキストファイル処理]
[ASP VBScript関数関係の説明]
[ASP ADOでMdbファイルを使う]
[ASP ADOでExcelと接続してみた]

その他:blogや広告↓
[日記的なblog]← あまり更新してないけど・・・
[三流なプログラムコード]← 恥ずかしいのであまり載せてないけど・・・
[通販商品の足跡を紹介]←通販商品などを紹介してます



旅行ガイドブックを購入する

ハードなプロジェクトが完了したら、少しリフレッシュしてみては?
[旅行情報・ガイドブックを探す]
最近聞かなくなったけど、システムの打ち合わせを合宿でやる・・・とか
※実際は旅館で一杯、親睦会って感じだけど。
現在時刻は、2009/01/06 21:23:23です。
[Topへ戻る] −−>[ASP系へ戻る] −−>[バックナンバーを見る]