【发布时间】:2017-10-22 21:40:28
【问题描述】:
我正在尝试将一些数据提取到我的数据库中。 我使用 Microsoft Webmatrix 进行轻松开发,并设置和运行 SQL 数据库。
** 更新 ** 标签和变量混合在一起 - 抱歉 - 现在我收到此错误:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'ConnectDB'
/writenote.asp, line 17
请不要关注安全性,因为这将在无法访问互联网且只有操作员访问权限的独立设备上运行。
以下是我用于输入数据库的内容。
“连接.asp”:
<%
dim strConnect
strConnect = "Provider=SQLOLEDB;Data Source=(local);" & _
"Database=HISTORICDATA;User ID=userid;Password=pw"
%>
<!-- METADATA TYPE="typelib"
FILE="C:\Program Files (x86)\Common Files\System\ado\msado15.dll" -->
我的表格:
<form action="writenote.asp" method="post">
<fieldset>
<legend>New note for <% response.write(tagname) %></legend>
Time:<br />
<input type="datetime-local" name="timestamp" value="<% Response.Write Now %>" required><br />
Object:<br />
<input type="text" name="object" value="<% response.write(tagname) %>" required><br />
User:<br />
<input type="text" name="user" value="<% response.write(loginuser) %>" required><br />
Note:<br />
<textarea name="note" rows="10" cols="30" required></textarea>
<br /><br />
<input type="submit" value="Submit">
<input type="reset">
</fieldset>
</form>
下面是“writenote.asp”的内容:
<%
dim username,object,time,note,objConn,objs,query
username = Request.Form("user")
tag = Request.Form("object")
time = Request.Form("timestamp")
note = Request.Form("note")
Set objConn = ConnectDB()
query = "INSERT INTO notes (username,object,time,note) VALUES ('"& username &"','"& object &"','"& time &"','"& note &"')"
Set objs = objConn.Execute(query)
Response.Redirect("notes.asp")
%>
老问题:
当我填写表格时,它一直说:
我无法让它在我的数据库中插入任何数据,并且不断出现 http 500 错误。
【问题讨论】:
-
tag和object的变量混淆了,没有声明,需要注意。问:你知道现在是哪一年吗? :) 或者,您只是喜欢使用旧技术吗? -
@R.Richards 谢谢!有时,重新审视代码是解决方案。但现在又出现了另一个问题——我已经更新了这个问题。是的,我知道它的旧技术,但这必须在旧的浏览器应用程序上运行。所以是故意的。但我有点忘记了 ASP 是如何工作的;'D
-
@SearchAndResQ 你说得对。我会想办法做到这一点..谢谢:)
-
我的建议?扔 Webmatrix 并学习自己编写经典的 ASP。这需要一些时间,但是一旦你学会了,你就不会依赖那些你花费数小时和数天试图弄清楚它们是如何工作以及为什么某些东西不起作用的花哨的东西。从长远来看,它将为您节省大量时间和金钱。 (对公司)
-
如果您喜欢开箱即用的环境。你应该试试 Django。简单、快速且活跃的语言:)
标签: sql sql-server asp-classic