如何将ADODB.Command与Classic Asp中的记录集一起使用

时间:2015-01-26 02:19:20

标签: asp-classic adodb jscript activexobject

所以这就是情况。我尝试使用快速方法从我的数据库中获取信息并将其放在表格中。显然,如果我从下面的选择中询问太多信息,它就行不通。

<%
var myConn, myRec, refCo, myCmd;
refCo = Request.querystring("refC");
Response.Write(refCo);

myConn = new ActiveXObject("ADODB.Connection");
myRec = new ActiveXObject("ADODB.Recordset");
myCmd = new ActiveXObject("ADODB.Command");

myConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/inetpub/wwwroot/unsite/database/world2003.mdb;");
/* myCmd.ActiveConnection = myConn;
myCmd.CommandText = "SELECT NameCountry, Capital, Language, Area, Population, Descripton FROM COUNTRIES WHERE NumCountry = " + refCo";
myCmd.Execute(); */

myRec.Open("SELECT NameCountry, Capital, Language, Area, Population, Descripton FROM COUNTRIES WHERE NumCountry = " + refCo,myConn);%>

请参阅myRec.Open?它不允许我通过资本。它不会。我想这可能是太多了,并且采用更长的形式,这意味着ADODB命令。假设我取消评论并使用myCmd,它根本不起作用。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

这不是因为选择列表中的项目数,而是因为您有一个保留字Language作为字段名称。您可以将该字段重命名为其他内容,或将其转义为[Language]

将您的查询更改为:SELECT NameCountry, Capital, [Language], Area, Population, Descripton FROM COUNTRIES WHERE NumCountry = " + refCo,它应该有效

请参阅: List of reserved words in Jet 4.0