把資料插入到資料庫的兩種方法

來源:互聯網
上載者:User
插入|資料|資料庫 把表單中的資料插入到資料庫中有兩種方法。
1.直接使用sql語句的
優點:速度快,不耗資源
缺點:不能傳遞太長的欄位內容,欄位比較多時不易排錯。
推薦有經驗的編程者優先考慮.

具體操作:
假設表單中有以下欄位:username,password,sex,age
對應的,在程式中有username,password,sex,age已取通過request.form或request.querystring取到欄位的值。
資料庫表user中有username,password,sex,age欄位。其它age為數字欄位.
已經建立connection對象,並開啟連結.

sql="insert into [user] (username,password,sex,age) value ('"&username&"','"&password&"','"&sex&"',"&age&")"
conn.execute(sql)

值得注意的是,如果username中含有“'”單引號,則會出錯,解決方案是把字串函數先經過處理.我常用的方法是建立一個sqlencode函數。
function sqlencode(str)
sqlencode="'"&replace(str,"'","''")&"'"
end function

這樣上面的sql 語名在可以簡化為sql="insert into [user] (username,password,sex,age) values ("&sqlencode(username)&","&sqlencode(password)&","&sqlencode(sex)&","&age&")"
多欄位時注意前面列表中的欄位名和 values後面的值的順序要注意一一對應關係,如果該值為空白,可以不填寫,但表示分隔的“,”號不能省略。
加入的欄位為字串欄位時要注意給內容前後加上"'"號。
另外,在表名user上面打上方括弧是因為user表可能是一個系統資料表,打上方括弧才不會和系統有衝突。給表名加上方括也是保證代碼的相容性的一個良好習慣。

2.使用recordset對象
優點:代碼容易閱讀,除錯
缺點:消耗系統資源
推薦新手使用

環境同上代碼如下:

set rs=Server.CreateObejct("ADODB.Recordset")
sql="select * from [user]
rs.open sql,conn,2,3
rs.addnew '注意這一行為新加入一個記錄,如果漏掉,就會改以前的記錄了。
rs("username")=username
rs("password")=password
rs("sex")=sex
rs("age")=age
rs.update '將更新寫入資料庫中
rs.close '最快的關閉recordset對象是一種良好的習慣
set rs=nothing '將不用的對象釋放也是一種良好的習慣



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。