【发布时间】:2016-10-24 17:14:26
【问题描述】:
我正在使用 asp 经典。 我正在尝试从用户那里获取信息,然后插入到我的数据库中。
错误是“没有给出值”。 上线:myCon.Execute(sql);
我认为它来自我的 sql 语句。
var myCon, myRec, sql;
myCon = new ActiveXObject ("ADODB.Connection");
myCon.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\abc.mdb");
var bodyType = parseInt(Request.Form("cbBodyType"));
var education = parseInt(Request.Form("cbEducation"));
var eyes = parseInt(Request.Form("cbEyes"));
var hairs = parseInt(Request.Form("cbHairs"));
var heights = parseInt(Request.Form("cbHeights"));
var religion = parseInt(Request.Form("cbReligion"));
var memberID = parseInt(Session("MemberID"));
sql = "INSERT INTO Profiles (MemberID, Religion, HairColor, Eye, Education, Height, BodyType) VALUES ("+memberID+", "+religion+", "+hairs+", "+eyes+", "+education+", "+heights+", "+education+")";
myCon.Execute(sql);
myCon.Close();
编辑:问题在于逻辑。例如,我有一个具有 ID 和描述的表 HairColor。 ID 是一个主键,它的外键在表 Profile 中。 当我的用户输入信息时,我想恢复组合框的值,获取 ID,然后执行 INSERT INTO PROFILES。
有没有一种简单的方法来代替使用大量的“where 语句”?
【问题讨论】:
-
完成了任何基本的调试,比如吐出您生成的
sql字符串以查看它的样子?如果您尝试插入 bodytype,为什么要为该字段提供education值? -
我做了调试。我拆分它并得到完全相同的错误。 “没有给出值”
-
我认为它来自我的双引号
-
在哪一行?至少您应该能够指出发生异常的确切行。我的猜测是它在
parse语句中,其中 Request.Form 或 Session 返回 null 或空。 -
我用这条线进行了编辑。我仔细检查了会话,它返回了一个值
标签: sql asp-classic jscript