2011-07-18 38 views
0

我是一个幸运的赢家固定遗留代码基地添加一些东西到数据库。经典的Asp插入到数据库与表具有模式

我有这样

CREATE TABLE [agreements].approved 
(
    id int not null IDENTITY PRIMARY KEY, 
    DomainName varchar(50) not null, 
    ApplicantFirstname varchar(50) not null, 
    ApplicantLastname varchar(50) not null, 
    OwnerFirstname varchar(50), 
    OwnerLastname varchar(50), 
    OwnerCompany varchar(50), 
    ViewedAppendix3 bit not null, 
    ApprovedDate datetime DEFAULT GETDATE(), 
) 

在一个模式的TABEL我们的问题。如何使用经典ASP将新行插入到具有架构的tabell?这是试图什么IM:

agreeSQL = "insert into [agreements].approved(DomainName, ApplicantFirstname, ApplicantLastname, OwnerFirstname, OwnerLastname, ViewedAppendix3) values('" & domain1 &"','" & owner & "','" & owner &"','" & owner & "','" & owner & "','" & owner &"','TRUE')" 
conn.execute agreeSQL ' conn is a working connection to the DB. 

这只是失败与500内部异常。踢球者来了。我无法看到任何错误消息,我做的所有更改都是在生产服务器上...

回答

1

问题不在于模式。这是SQL不正确。自从我无法打印任何测试消息以后,发现有点怪异。

1

尝试使用'TRUE'而不是'1'来存储BIT值。

+0

尝试使用'TRUE'。这是做到这一点的方式,但它仍然没有解决我的问题,我仍然相信它在模式上失败。关于这个的任何idé? – Marthin

+0

我假设你已经尝试打印'agreeSQL'并直接执行它来确认它不是数据问题。 –

+0

是的,只是做到了这一点,并发现我的SQL的另一个问题,有一个到很多值。现在它似乎工作。所以我想我从一开始就对模式是正确的,但在编写其余的SQL时不够小心。谢谢你的帮助。 – Marthin

1

你已经得到了你的最后一个值,位字段,用引号括起来,它不应该是。

+0

我按照@Aziz的建议将它改为'TRUE'。但是,感谢您输入 – Marthin

2

您必须在IIS中启用“向浏览器发送错误”才能在浏览器中查看ASP错误消息。对不起,德国屏幕截图:-) enter image description here

+0

+1以获得良好的推荐。对于我来说唯一的问题是,当服务器出现错误时,这个非常糟糕的遗留网站会将我发送到新页面。所以,如果我得到500内部服务器错误,那么它会将我发送到一个虚假的错误页面。我没有授权将其更改为可以进行一些调试。 – Marthin

+0

另一个提示:使用Nlog作为记录工具。它有一个COM接口,可以在ASP中使用。 http://nlog-project.org/wiki/COM_logging_API – Yots