PDA

View Full Version : [Q] Insert data into 2 tables



cutun
20-10-2002, 16:53
Minh muon dung session variable trong ASP de collect data from 1 page roi pass no qua 1 page khac. Vi du nhu sau khi user enter data vao textbox va click enter, data do se duoc insert vao table thu nhat dong thoi duoc put vao 1 session variable va pass sang 1 page khac de insert vao table thu hai.Xin giup do. Thanx

DTB
21-10-2002, 01:04
Ừ thì cứ thế mà làm. đơn giản mà.
Gán giá trị vào biến Session từ cái Form mà user gửi lên thì dùng :
Session("abc")=Resquest.form("input_textbox_name_1")
Session("xyz")=Resquest.form("input_textbox_name_2")
.........

Sau đó insert nó vào database thì tùy theo nếu dùng:

- Connection Object hay Command Object thì tính toán cho chuỗi Query String:
myQueryString="INSERT INTO table_name (field_name_1, field_name_2) "
myQueryString=myQueryString + "VALUES ('" + Session("abc") + "','"
myQueryString=myQueryString + Session("xyz") + "')"
Sau đó cho thực hiện lệnh Query đó.

- Nếu dùng RecordSet Object thì:
myRecordSetObj.AddNew
myRecordSetObj.Fields("field_name_1")=Session("abc")
myRecordSetObj.Fields("field_name_2")=Session("xyz")
myRecordSetObj.Update

Ở trang ASP thứ 2 thì cũng insert như thế. Vì lúc này trang 2 vẫn nhìn thấy các biến Session đã tạo ra ở trang 1.
Cũng có thể insert vào cả 2 table khi đang ở trang 1.

White_Rose
21-10-2002, 04:32
nhỏ nhỏ: để trang 2 vẫn nhận được các giá trị đó, sau khi thực hiện xong trang 1, bạn thi hành:
Server.Transfer "page2.asp"
hoặc
Server.Execute "page2.asp"
như bạn nói thì kô cần quay lại page1 ----> dùng cái đầu.

cutun
25-10-2002, 00:56
Thanx for all the reply.
Ban White Rose, ban co the cho minh biet la minh phai danh cai dong do o dau khong ?? Page 1 hay page 2.

newcinc
25-10-2002, 01:30
Giải quyết như thế này:
Trang có form:
--------
<form action="page1" method=post>
<input type=text name=a>
<input type=submit value=submit>
</form>
---------

page1:
---
<%
a=request.Form("a")
If a<>"" Then Session("a")=a End If
If Session("a")<>"" Then
StrSQL="INSERT INTO tbl(a) VALUES(" &a &");"
set rs=Server.CreateObject("ADODB.Recordset")
rs.Open StrSQL, cnDrv 'cnDrv: Connection String
End If
Response.Redirect("page2.asp")
%>

page2:

<%
If Session("a")<>"" Then
StrSQL="INSERT INTO tbl(a) VALUES(" &a &");"
set rs=Server.CreateObject("ADODB.Recordset")
rs.Open StrSQL, cnDrv 'cnDrv: Connection String
End If
%>

-----------------
HỎI THÊM WHITE_ROSE:
mình viết ASP cũng nhiều, nhưng chưa bao giờ nghe nói đến Server.Tranfer "xx.asp" hay Server.Execute "***.asp"
Mong bạn giải thích cụ thể và cho ví dụ...

Sau khi đọc bài của bạn, mình có coi một vài tài liệu nhưng cũng không thấy....

footprint
25-10-2002, 04:03
-----------------
HỎI THÊM WHITE_ROSE:
mình viết ASP cũng nhiều, nhưng chưa bao giờ nghe nói đến Server.Tranfer "xx.asp" hay Server.Execute "***.asp"
Mong bạn giải thích cụ thể và cho ví dụ...

Sau khi đọc bài của bạn, mình có coi một vài tài liệu nhưng cũng không thấy....

Win2K/IIS5 mới sử dụng được.

White_Rose
25-10-2002, 05:20
Bạn xem ở http://goin.to/vbasp

Đây là link trực tiếp:

Transfer: http://207.150.221.94/ws-ihatelov/vbasp/vbasp.asp?id=15

Execute: http://207.150.221.94/ws-ihatelov/vbasp/vbasp.asp?id=14