如何获取表单的值,并插入数据库?成功解决,马上给分!!

时间:2021-12-27 21:48:15
如果我要把A页面的表格action到B面页,如下:
<form action="price.asp">
<input name="newprice" type="text">
<input type="submit" name="Submit" value="提交">
</form>
而我又想在A页面,把newprice的值插入数据库,如下:
<%
sql="insert into price (price_n) values('"&newprice&"')"
rs.Open sql,objConnection
%>
请问我应该把以上插入数据库的操作语句放在A页面的哪里,才能正确获得form里的newprice的值并成功插入数据库呢?

9 个解决方案

#1


加上判断值是否为空就行了,前面的地方不用改.

<%
newprice=request("newprice")
if newprice<>"" then
sql="insert into price (price_n) values('"&newprice&"')"
rs.Open sql,objConnection
end if
%>
你的语句好象写错了.下面那样才对.

<%
newprice=request("newprice")
if newprice<>"" then
conn.execute "insert into price (price_n) values('"&newprice&"')"
end if
%>


不过建议你用这种,排错比较方便,相对能减少出错.
<%
newprice=request("newprice")
if newprice<>"" then
rs.open "price",conn,1,1
rs.open sql,conn,1,3
rs.addnew
rs("price_n")=newprice
rs.update
end if
%>

#2


to yaozhg
谢谢你那么详细的指导。

我按你教的方法试了,但还是不行,写入数据库的是一条空记录。我现在很想
知道,我插入数据库的操作是在A页面,不是在A页面的表格提交到的B页面,
如果是在B页面做,就可以用newprice=request("newprice")来获取newprice
的值,但在A页面也是用newprice=request("newprice")吗?
还有一个问题就是,我应该把这些语句放在A页面的什么地方,是不是在
</form>之后啊?

#3


还有比我早的?
A页面必须是ASP,放在那里无所谓,但必须放在<% ASP程序 %>中间
<%
dim newprice
newprice=getStr(request("newprice"))
if newprice<>"" then
sql="insert into price (price_n) values('" & newprice & "')"
rs.Open sql,objConnection
end if

Function getStr(vParam)
Dim vRet
vRet = vParam
If isEmpty(vRet) = True Then
getStr = ""
ElseIf isNull(vRet) = True Then
getStr = ""
Else
getStr = RTrim(vRet)
End If
End Function

%>

#4


用 yaozhg(不可能,不可能) 方法是可以的,但必须在转回页面时加上路径加上条件!

如:Response.Redirect("A.asp?ewprice="& newprice)

当然在B页中你应先取得newprice值,
在用上面的语句,

但是我觉得用可以用SESSION 变量
在A页面中:
if(Session("newprice")<>"") then
.......//操作数据库

Session("newprice"="")
end if 

在B页面中加上
Session("newprice")=newprice

#5


<from name="test" id="test" action="a.asp">
.....
</form>
<%
newprice=request("newprice")
if newprice<>"" then
conn.execute "insert into price (price_n) values('" & newprice & "')"
end if
%>

#6


请问,yyf_321(小子)
Response.Redirect("A.asp?newprice="& newprice)应该放在A页面吗?还是B页面呢?

请问哪位朋友可以把ASP连ASSESS数据库的完整连接语句写给我啊,谢谢!!!

#7


你的这种情况
在B页面做
就可以用newprice=request("newprice")来获取newprice的值 
但在A页面
是不能用newprice=request("newprice")来获取值的

#8


Set conn = Server.CreateObject("ADODB.Connection") 
Strconn="DRIVER={Microsoft Access Driver (*.mdb)}; " 
Strconn=Strconn & "DBQ=" & Server.MapPath("/database/yanhang.mdb") 
conn.Open Strconn

#9


<%
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("ly.asp")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
Set rs= Server.CreateObject("ADODB.Recordset")
%>

#1


加上判断值是否为空就行了,前面的地方不用改.

<%
newprice=request("newprice")
if newprice<>"" then
sql="insert into price (price_n) values('"&newprice&"')"
rs.Open sql,objConnection
end if
%>
你的语句好象写错了.下面那样才对.

<%
newprice=request("newprice")
if newprice<>"" then
conn.execute "insert into price (price_n) values('"&newprice&"')"
end if
%>


不过建议你用这种,排错比较方便,相对能减少出错.
<%
newprice=request("newprice")
if newprice<>"" then
rs.open "price",conn,1,1
rs.open sql,conn,1,3
rs.addnew
rs("price_n")=newprice
rs.update
end if
%>

#2


to yaozhg
谢谢你那么详细的指导。

我按你教的方法试了,但还是不行,写入数据库的是一条空记录。我现在很想
知道,我插入数据库的操作是在A页面,不是在A页面的表格提交到的B页面,
如果是在B页面做,就可以用newprice=request("newprice")来获取newprice
的值,但在A页面也是用newprice=request("newprice")吗?
还有一个问题就是,我应该把这些语句放在A页面的什么地方,是不是在
</form>之后啊?

#3


还有比我早的?
A页面必须是ASP,放在那里无所谓,但必须放在<% ASP程序 %>中间
<%
dim newprice
newprice=getStr(request("newprice"))
if newprice<>"" then
sql="insert into price (price_n) values('" & newprice & "')"
rs.Open sql,objConnection
end if

Function getStr(vParam)
Dim vRet
vRet = vParam
If isEmpty(vRet) = True Then
getStr = ""
ElseIf isNull(vRet) = True Then
getStr = ""
Else
getStr = RTrim(vRet)
End If
End Function

%>

#4


用 yaozhg(不可能,不可能) 方法是可以的,但必须在转回页面时加上路径加上条件!

如:Response.Redirect("A.asp?ewprice="& newprice)

当然在B页中你应先取得newprice值,
在用上面的语句,

但是我觉得用可以用SESSION 变量
在A页面中:
if(Session("newprice")<>"") then
.......//操作数据库

Session("newprice"="")
end if 

在B页面中加上
Session("newprice")=newprice

#5


<from name="test" id="test" action="a.asp">
.....
</form>
<%
newprice=request("newprice")
if newprice<>"" then
conn.execute "insert into price (price_n) values('" & newprice & "')"
end if
%>

#6


请问,yyf_321(小子)
Response.Redirect("A.asp?newprice="& newprice)应该放在A页面吗?还是B页面呢?

请问哪位朋友可以把ASP连ASSESS数据库的完整连接语句写给我啊,谢谢!!!

#7


你的这种情况
在B页面做
就可以用newprice=request("newprice")来获取newprice的值 
但在A页面
是不能用newprice=request("newprice")来获取值的

#8


Set conn = Server.CreateObject("ADODB.Connection") 
Strconn="DRIVER={Microsoft Access Driver (*.mdb)}; " 
Strconn=Strconn & "DBQ=" & Server.MapPath("/database/yanhang.mdb") 
conn.Open Strconn

#9


<%
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("ly.asp")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
Set rs= Server.CreateObject("ADODB.Recordset")
%>