首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

ASP+MSSQL网站出现有关问题,请帮忙解决

2012-01-29 
ASP+MSSQL网站出现问题,请帮忙解决我公司网站是ASP+MSSQL做的,最近出现问题是在后台插入文章提现如下代码:

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代码写的不严谨.
[解决办法]
提示信息很清晰,后台数据库中不允许为空的字段,必须有值。

热点排行