2.5 新規投稿記事のデータベースへの格納

リスト2.5 input2.asp

<%@ LANGUAGE="VBScript" %>
<% Option Explicit %>
<HTML>
<HEAD>
<TITLE>input2.asp</TITLE>
</HEAD>
<BODY>
<%
Const FOR_DEBUG = "<BR>Debug(input2.asp):"
Const DATASOURCE = "aspZADO"

Dim lngMessageNum '記事番号
Dim dtmMessageTime '記事投稿日時
Dim strName '記事投稿者名
Dim strTitle '記事標題
Dim strMessage '記事内容
Dim objConn,objRst,strSQL,objRst2

'新規投稿画面からデータを受信します
strName = Request("name")
strTitle = Request("title")
strMessage = Request("message")

'受信データを確認表示します
Response.Write FOR_DEBUG & "strName=" & strName & "<BR>"
Response.Write FOR_DEBUG & "strTitle=" & strTitle & "<BR>"
Response.Write FOR_DEBUG & "strMessage=" & strMessage & "<BR>"

'データベースにデータを格納します
'データベースへ接続します
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open DATASOURCE

'記事投稿日付を設定します
dtmMessageTime = Now()

'記事番号を付与します
'記事が1個でもあるかどうかチェックします
Set objRst = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT * FROM tblBBS;"
objRst.Open strSQL, objConn, 3, 2
If NOT objRst.BOF Then
  '記事がある
  '既存の最大記事番号を調べます。
  strSQL = "SELECT MAX(messageNum) As maxMessageNum From tblBBS;"
  'レコードセットオブジェクトを生成します
  Set objRst2 = Server.CreateObject("ADODB.Recordset")
  objRst2.Open strSQL, objConn, 1,1
  lngMessageNum = objRst2("maxMessageNum") + 1
  objRst2.Close
Else
  '記事がない
  lngMessageNum = 1
End If

'新規レコードを追加し、各フィールドに値を設定します
objRst.AddNew
  objRst("messageNum") =lngMessageNum
  objRst("messageTime") =dtmMessageTime
  objRst("name") =strName
  objRst("title") =strTitle
  objRst("message") =strMessage
objRst.UpDate
objRst.Close
objConn.Close
%>
記事を投稿しました
<FORM ACTION="index2.asp" METHOD="POST" TARGET="_top">
  <INPUT TYPE="submit" VALUE="OK">
</FORM>
</BODY>
</HTML>

 

図2.9

図2.10

図2.11

 


目次