Sql ADODB CreateParameter方法中name参数的用途是什么?

Sql ADODB CreateParameter方法中name参数的用途是什么?,sql,asp-classic,adodb,Sql,Asp Classic,Adodb,因此,我正在修改经典ASP中的现有查询。经典的ASP对我来说是相当新的,尤其是这个ADODB命令 正如上面所说的 虽然其他的东西我也不熟悉,但这些都是以后的问题 sql = "INSERT INTO Paintings (pieceName, artistName, description, galleryID) VALUES (?, ?, ?, ?)" set sqlCmd = Server.CreateObjects("ADODB.Command") sqlCmd.Parameters.

因此,我正在修改经典ASP中的现有查询。经典的ASP对我来说是相当新的,尤其是这个ADODB命令

正如上面所说的

虽然其他的东西我也不熟悉,但这些都是以后的问题

sql = "INSERT INTO Paintings (pieceName, artistName, description, galleryID) VALUES (?, ?, ?, ?)"  
set sqlCmd = Server.CreateObjects("ADODB.Command")
sqlCmd.Parameters.Append(sqlCmd.CreateParameter("@PieceName",adVarChar,adParamInput, 256, txtPieceName))  
sqlCmd.Parameters.Append(sqlCmd.CreateParameter("@ArtistName",adVarChar,adParamInput, 256, txtArtist))
sqlCmd.Parameters.Append(sqlCmd.CreateParameter("@Description",adVarChar,adParamInput, 5000, txtDescription))
sqlCmd.Parameters.Append(sqlCmd.CreateParameter("@Description",adInteger,adParamInput, 256, txtGalleryID))

ADODBCon.query(sql, sqlCmd)
关键是,代码来自他们的live分支。我可以看到
@Description
与SQL不匹配,因此我可以判断该命令不区分大小写,或者name参数与SQL根本不相关

其次,
@Description
使用了两次,但仍然有效,有两种不同的类型。我知道它说的是
可选的
,但是如果它与SQL无关,并且可以以相同的名称和不同的类型存在,那么它只是为了可读性吗


很抱歉,如果
包含参数对象名称的字符串值
完全解释了它的用途,而我只是不明白,但是name参数的用途是什么?

方法实际上是创建一个对象,
.Append
方法随后将该对象添加到ADODB.Command对象的
sqlCmd
参数集合中。由于它是一个集合,因此名称是可选的,因为集合项可以通过项索引访问

从有关财产的文件中:

对于尚未附加到参数集合的参数对象,名称 属性是读/写的。对于附加参数对象和所有其他对象, Name属性是只读的名称在同一个域中不必是唯一的 收藏

sql = "INSERT INTO Paintings (pieceName, artistName, description, galleryID) VALUES (?, ?, ?, ?)"  
set sqlCmd = Server.CreateObjects("ADODB.Command")
sqlCmd.Parameters.Append(sqlCmd.CreateParameter("@PieceName",adVarChar,adParamInput, 256, txtPieceName))  
sqlCmd.Parameters.Append(sqlCmd.CreateParameter("@ArtistName",adVarChar,adParamInput, 256, txtArtist))
sqlCmd.Parameters.Append(sqlCmd.CreateParameter("@Description",adVarChar,adParamInput, 5000, txtDescription))
sqlCmd.Parameters.Append(sqlCmd.CreateParameter("@Description",adInteger,adParamInput, 256, txtGalleryID))

ADODBCon.query(sql, sqlCmd)