删除SQL Server的数据出错。50分

hiweiyi2000 2004-11-25 05:56:22
<%@ Page Language="C#"%>
<%@ Import Namespace="System.Data.SqlClient" %>

<script runat=server>

void Page_Load(Object sender , EventArgs e)
{
SqlConnection conPubs;
string strDelete;
SqlCommand cmdDelete;

conPubs = new SqlConnection( @"Server=localhost;UID=sa;PWD=weiYI10!;database=Pubs" );
strDelete = "Delete Authors Where au_lname='Smith'";
cmdDelete = new SqlCommand( strDelete, conPubs );
conPubs.Open();
cmdDelete.ExecuteNonQuery();
conPubs.Close();
Response.Write("Records Deleted!");
}
</script>


错误提示:

“/s”应用程序中的服务器错误。
--------------------------------------------------------------------------------

DELETE 语句与 COLUMN REFERENCE 约束 'FK__titleauth__au_id__0519C6AF' 冲突。该冲突发生于数据库 'pubs',表 'titleauthor', column 'au_id'。语句已终止。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: DELETE 语句与 COLUMN REFERENCE 约束 'FK__titleauth__au_id__0519C6AF' 冲突。该冲突发生于数据库 'pubs',表 'titleauthor', column 'au_id'。语句已终止。

源错误:
...全文
155 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
gmplayer 2004-11-26
delect from 表名 where
回复
JerryYoungx 2004-11-26
<%@ Page Language="C#"%>
<%@ Import Namespace="System.Data.SqlClient" %>

<script runat=server>

void Page_Load(Object sender , EventArgs e)
{
try{
SqlConnection conPubs;
string strDelete;
SqlCommand cmdDelete;

conPubs = new SqlConnection( @"Server=localhost;UID=sa;PWD=weiYI10!;database=Pubs" );
strDelete = "Delete Authors Where au_lname='Smith'";
cmdDelete = new SqlCommand( strDelete, conPubs );
conPubs.Open();
cmdDelete.ExecuteNonQuery();
conPubs.Close();
Response.Write("Records Deleted!");
}
catch(Exception ex)
{
Response.write(ex); //看看报的什么错误,如果是你建了外键肯定删除不掉,违反了FK约束,建议你check一下DB。做项目一般不用见外键那样删除容易些 :)
return;
}

}
</script>
回复
yani_33 2004-11-26
又外键约束关系
回复
acenk 2004-11-26
delete from .......

另外有外键约束
删除有一定的顺序
按外键中关联的表的顺序删除
回复
starsong 2004-11-26
SQL语句有错,并且外键也让你无法删除
回复
wang790809 2004-11-26
是数据约束的问题,如果删除的话要删除与此主键有关的所有项
回复
hiweiyi2000 2004-11-26
我打开 设计表 将主键消除,可以了,
是不是主键问题,想知道为什么。
回复
ljwpal 2004-11-26
你在 Authors表上设置外键了,删除该表外键即可解决!!!!!

一般情况我不喜欢使用外键、级联!!!!
回复
jamking66 2004-11-26
一定是主键问题统一楼上的,
回复
cathylang 2004-11-26
对,一定是有主外键关系
回复
hiweiyi2000 2004-11-26
解决方法?顶一下。
回复
greennetboy 2004-11-26
删除语句错误,没有tablename
回复
chloe 2004-11-25
这个应该到DB栏去问吧
回复
2002pine 2004-11-25
因为建立了外键盘,
Delete Authors 时,其它表中用authoid所以不能删
回复
luluso 2004-11-25
sql语句有点问题,发现你没表名..标准格式如下.
strDelete = "Delete * from 表名 Where au_lname='Smith'";
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-11-25 05:56
社区公告
暂无公告