ASP+MSSQL网站出现问题,请帮忙解决
我公司网站是ASP+MSSQL做的,最近出现问题是在后台插入文章提现如下代码:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]无法将 NULL 值插入列 'carticle_id',表 'www_cmedu_org.web275706.c_article';该列不允许空值。INSERT 失败。
/common/inc/funccore.inc.asp,行 698
请问大虾,问题出在ASP网站文件里还是数据库里?
我应该怎么解决,说的最好详细一些!谢谢啦
if sql="" or p_act="" then
reportError("函数int_cAll(p_target, p_act, p_dic)调用时出错:sql语句为空(可能原因为参数缺少)")
end if
'****************************
'response.write sql
'response.end
'****************************
rs.open sql, conn, 1, 3
'若为更新或删除则返回true,若为插入则找到刚插入的值ishopinstrumentlist除外
If(p_act="delete" or p_act="update") Then
int_cAll = 1
elseif(p_act="insert" and p_target<>"ishopinstrumentlist") then
sql = "select " & str_targetid_name & " from " & p_target & " order by " & str_targetid_name & " desc"
rs.open sql, conn, 1, 1
int_cAll = rs(0)
End if
[解决办法]
原因就是'www_cmedu_org.web275706.c_article 这个表里的列carticle_id是不允许空值的
你可能在应用程序上判断不严谨,造成了没有对该字段插入值,所以就会抱这个错误
你在ASP里把SQL语句打出来,然后放到查询分析器里执行,就可以看到哪里的问题了。
[解决办法]
If(p_act= "delete " or p_act= "update ") Then
int_cAll = 1
elseif(p_act= "insert " and p_target <> "ishopinstrumentlist ") then
sql = "select " & str_targetid_name & " from " & p_target & " order by " & str_targetid_name & " desc "
response.write(sql)
response.end
rs.open sql, conn, 1, 1
int_cAll = rs(0)
End if
[解决办法]
顯然,插入文章的時候,沒有同時插入carticle_id
[解决办法]
楼上两位都说了,asp代码写的不严谨.
[解决办法]
提示信息很清晰,后台数据库中不允许为空的字段,必须有值。