用asp把表單數據插入數據庫的2種常用方法:
1.直接使用sql語句的
優點:速度快,不耗資源
缺點:不能傳遞太長的字段內容,字段比較多時不易排錯.
推薦有經驗的編程者優先考慮.
具體操作:
假設表單中有以下字段:username,password,sex,age
對應的,在程序中有username,password,sex,age已取通過request.form或request.querystring取到字段的值.
數據庫表user中有username,password,sex,age字段.其它age為數字字段.
已經建立connection對象,並打開鏈接.
sql=insertinto[user](username,password,sex,age)value(&username&,&password&,&sex&,&age&)
conn.execute(sql)
值得注意的是,如果username中含有單引號,則會出錯,解決方法是把字符串函數先經過處理.我常用的方法是建立一個sqlencode函數.
functionsqlencode(str)
sqlencode=&replace(str,,)&
endfunction
這樣上面的sql語名在可以簡化為sql=insertinto[user](username,password,sex,age)values(&sqlencode(username)&,&sqlencode(password)&,&sqlencode(sex)&,&age&)
多字段時注意前面列表中的字段名和values後面的值的順序要注意一一對應關係,如果該值為空,可以不填寫,但表示分隔的,號不能省略.
加入的字段為字符串字段時要注意給內容前後加上號.
另外,在表名user上面打上方括號是因為user表可能是一個系統表,打上方括號才不會和系統有衝突.給表名加上方括也是保證代碼的兼容性的一個良好習慣.
2.使用recordset對象
優點:代碼容易閱讀,除錯
缺點:消耗系統資源
推薦新手使用
環境同上代碼如下:
setrs=Server.CreateObejct(ADODB.Recordset)
sql=select*from[user]
rs.opensql,conn,2,3
rs.addnew注意這一行為新加入一個記錄,如果漏掉,就會改以前的記錄了.
rs(username)=username
rs(password)=password
rs(sex)=sex
rs(age)=age
rs.update將更新寫入數據庫中
rs.close最快的關閉recordset對像是一種良好的習慣
setrs=nothing將不用的對象釋放也是一種良好的習慣
以上方法比較常用,當然也可以用存儲過程,本文不再說明,可以搜索本站相關教程!