麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > ASP > 正文

ASP編程入門進階(二十):ADO組件之插入數據記錄

2020-07-27 13:19:00
字體:
來源:轉載
供稿:網友
簡單的顯示記錄已經掌握,現在需要的就是通過ASP將信息內容插入到數據庫中。

一、擁有數據庫cnbruce.mdb

本數據庫的作用就是用來被插入數據的,可以直接采用上節中已經建立的cnbruce.mdb文件,當然連接打開數據庫的文件conn.asp也就順利引用了。

二、建立輸入插入信息的頁面平臺addit.html

本頁的主要作用是:顯示一些文本輸入框以用來提供輸入信息內容提交數據庫。

1,addit.html

[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

本頁其實很簡單,就是通過submit按鈕將表單的信息內容提交到addit.asp頁面去處理。

三、建立處理接受數據并插入數據庫表的頁面程序addit.asp

2,addit.asp


<!--#include file="conn.asp" -->

<%
whattitle=request.form("title")
whoauthor=request.form("author")
whatcontent=request.form("content")
%>

<%
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select * from cnarticle"
rs.Open sql,conn,3,2
%>

<%
rs.addnew
rs("cn_title")=whattitle
rs("cn_author")=whoauthor
rs("cn_content")=whatcontent
rs.update
%>
文章添加成功,<a href="showit.asp">瀏覽</a>
<%
rs.close
Set rs = Nothing
conn.close
set conn=Nothing
%>



恩,接著就是來具體分析一下。

1,<!--#include file="conn.asp" --> 不用說,凡是要和數據庫有聯系的都要運用到該連接文件。

2,whattitle=request.form("title")之類 就是將上頁表單中接受過來的值賦到一變量上,方便下面程序的調用。

3,rs.Open sql,conn,3,2 注意參數和顯示數據庫時采用的參數的不同。

4,rs.addnew 很簡單也很顯眼的一個聲明:新建一個數據庫記錄集行。

5,rs("cn_title")=whattitle之類 即將接受的表單值對應到相關字段中。

6,rs.update 只是值和數據庫字段的對應,完了后還要將對應的值上傳提交到數據庫表中去。

7,插入后可以跳轉到showit.asp查看 需要說明,以后的ASP例題可能都是建立在前幾節內容的基礎之上完成的。

8,釋放資源 是規矩,不要忘記。

那么,現在。插入并顯示數據庫記錄,對你來說完全是小菜一碟了。大體框架搭建完畢,下面就是具體的細化了。

其中包括:客戶端的表單檢測,防止用戶信息輸入的遺漏;當然最好還是要加上服務器端的表單檢測,由于客戶端的某些原因(比如自行設計提交非檢測的頁面)基于安全考慮,一切還是依服務器端所接受信息為準。那下面就繼續細化應用下了。

1,客戶端檢測 其實就是通過簡單的腳本檢測,這在初學ASP提到腳本的時候說到,下面將再次重復。

加強的addit.html

[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

2,服務器端檢測 有人也許會問,既然有了客戶端的檢測,那還有多個服務器端的檢測呢?原因很簡單,比如仿照HTML表單提交頁,自行設計一張去除了表單檢測的頁面。當點擊提交,并且沒有任何信息時,到達服務器端如沒有任何防御則肯定會造成數據插入的失敗。

加強的addit.asp


<!--#include file="conn.asp" -->

<%
whattitle=trim(request.form("title"))
whoauthor=trim(request.form("author"))
whatcontent=trim(request.form("content"))
%>

<%if whattitle="" then%>
<script language=vbs>
alert("請輸入文章標題")
history.go(-1)
</script>
<%end if%>
<%if whatcontent="" then%>
<script language=vbs>
alert("請輸入文章標題")
history.go(-1)
</script>
<%end if%>

<%
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select * from cnarticle"
rs.Open sql,conn,3,2
%>

<%
rs.addnew
rs("cn_title")=whattitle
rs("cn_author")=whoauthor
rs("cn_content")=whatcontent
rs.update
%>
文章添加成功,<a href="showit.asp">瀏覽</a>
<%
rs.close
Set rs = Nothing
conn.close
set conn=Nothing
%>



可以看出,就是添加了如下類似的判斷。


<%if whattitle="" then%>
<script language=vbs>
alert("請輸入文章標題")
history.go(-1)
</script>
<%end if%>


很簡單,如果接受過來的信息為空,則彈出警告框,并且確認后返回到上頁即addit.html了。當然cn_author沒有設置檢測,因為當初設計該字段的接受值是允許為空的。

OK,總結一下,插入記錄主要就是


rs.addnew
rs("cn_title")=whattitle
...
rs.update



很簡單,先聲明addnew,然后一一對應,再提交插入數據庫。

這是一種插入數據庫的方法,下面就來接觸了解一下另外一種。

需要注意,結構化的查詢語言也就是SQL語句能夠完成一些比較苛刻的數據庫操作。當然,對于諸如提取、插入信息之流就更不在話下了。所以下面采用的插入記錄的方法就是直接采用SQL語法完成。

修改了的addit.asp


<!--#include file="conn.asp" -->

<%
whattitle=request.form("title")
whoauthor=request.form("author")
whatcontent=request.form("content")
%>

<%
sql = "insert into cnarticle(cn_title,cn_author,cn_content) values(' "&whattitle&" ',' "&whoauthor&" ',' "&whatcontent&" ')"
conn.Execute(sql)
%>

文章添加成功,<a href="showit.asp">瀏覽</a>

<%
conn.close
set conn=Nothing
%>



本程序中,你會發現只要一行的SQL語句,不需要建立Rescord記錄集行,不需要聲明addnew,不要執行update。直接通過conn.Execute(sql)來完成。

當然應用此種方法,若必填字段接受值為空時,同樣能夠插入記錄。這和采用第一種會報


Microsoft JET Database Engine 錯誤 '80040e21'

字段 'xxx.xxx' 不能是零長度的字符串。


具有很大的容錯性。

是程序的可讀性還是方法的簡便高效率就任君選擇了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久亚洲网 | 一级做a爱片久久毛片a高清 | 在线 日本 制服 中文 欧美 | 国产成人在线一区 | 一区二区三区在线观看国产 | 色人久久| 九九热精品视频在线 | 欧美色淫| 99精品视频久久精品视频 | 中文字幕在线观看1 | 国产一区二区免费 | 久久9999久久 | 久久日本 | 欧美日韩在线影院 | 欧美特级黄色 | 男男啪羞羞视频网站 | 欧美日韩亚洲国产 | 久久久www成人免费精品 | 欧美精品欧美极品欧美激情 | 免费黄色小网站 | 免费观看的毛片手机视频 | 在线观看国产免费视频 | 日韩精品中文字幕在线观看 | 噜噜噜在线| 一区二区久久电影 | 天天色宗合 | 男女无套免费视频 | 成人三区四区 | 国产精品成人亚洲一区二区 | 国产精品久久77777 | 干少妇av | 亚洲国产在 | 午夜伊人 | 一级做受毛片免费大片 | 日本网站一区 | 国产精品91久久久 | 国产毛片在线看 | 一区二区精品视频 | 亚洲第五色综合网 | 日本成人一二三区 | 久久久av亚洲男天堂 |