首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

为什么小弟我清空不了这个表的所有记录?

2012-02-08 
为什么我清空不了这个表的所有记录???????????????????????我用的是VS2005表名为:STAR用deletefromstar能

为什么我清空不了这个表的所有记录???????????????????????
我用的是VS2005     表名为:STAR

用   delete   from   star   能正确执行
但我想删除后编号仍然从1开始   .   我用   truncate   table   star   执行   出现错误

无效的   SQL语句;期待   'DELETE '、 'INSERT '、 'PROCEDURE '、 'SELECT '、或   'UPDATE '。


下面是我执行的方法
                ///   <summary>
                ///   只执行SQL命令,无返回
                ///   </summary>
                ///   <param   name= "strSQLpro "> SQL语句 </param>
                public   int   ExecuteSql(string   strSQL)
                {
                        con   =   new   OleDbConnection(connectionString);
                        cmd   =   new   OleDbCommand(strSQL,   con);
                        try
                        {
                                con.Open();
                                int   i   =   cmd.ExecuteNonQuery();
                                return   i;
                        }
                        catch   (Exception   ex)
                        {
                                throw   new   Exception(ex.Message);
                        }
                }

[解决办法]
肯定用了自加了吧,server 2000就这样,他会一直加比如
1
2
3
你把第3行删了,成
1
2
,再insert一行,那么就成
1
2
4
如果你想要
1
2
3
这样的结果,就不要设成自加
手动insert段
[解决办法]
楼上说的完全正确
MS SQL不支持truncate ,orcale里面倒是常用
[解决办法]
呵呵
lz太大意了哦
顶一下
[解决办法]
anncesky() ( ) 信誉:100 Blog 加为好友 2007-07-14 10:41:54 得分: 0


肯定用了自加了吧,server 2000就这样,他会一直加比如
1
2
3
你把第3行删了,成
1
2
,再insert一行,那么就成
1
2
4
如果你想要
1
2
3
这样的结果,就不要设成自加
手动insert段


-----------------------

如果是自增列,刪除的時候會出現這種情況。

但是,你沒看清,樓主使用的是TRUNCATE ,而不是DELETE。

如果使用的TRUNCATE ,自增列會重新從1開始的。
------解决方案--------------------


suxe() ( ) 信誉:100 Blog 加为好友 2007-07-14 10:57:09 得分: 0


楼上说的完全正确
MS SQL不支持truncate ,orcale里面倒是常用


---------------
完全錯誤,MS SQL中支持Truncate。
[解决办法]
樓主,你的想法是沒有問題的。

但是OleDbCommand可能不支持Truncate這個命令,想想別的方法吧。
[解决办法]
你的数据表有外键表?
[解决办法]
回复人:paoluo(一天到晚游泳的鱼) ( 五级(中级)) 信誉:100 2007-7-14 11:27:50 得分:0

suxe() ( ) 信誉:100 Blog 加为好友 2007-07-14 10:57:09 得分: 0


楼上说的完全正确
MS SQL不支持truncate ,orcale里面倒是常用


---------------
完全錯誤,MS SQL中支持Truncate。


回复人:wxl565(汪汪) ( 二级(初级)) 信誉:98 2007-07-14 15:04:44 得分:0

没有 就一个单独的表.....我也怀疑不支持 TRUNCATE这个命令
---------------
程序员应该有怀疑精神但不应该瞎猜疑...为什么不去查文档?


不能对以下表使用 TRUNCATE TABLE:

由 FOREIGN KEY 约束引用的表。
参与索引视图的表。
通过使用事务复制或合并复制发布的表。

对于具有以上一个或多个特征的表,请使用 DELETE 语句。

TRUNCATE TABLE 不能激活触发器,因为该操作不记录各个行删除。

[解决办法]
另外关于自增长标识...

TRUNCATE TABLE 删除表中的所有行,如果表包含标识列,该列的计数器重置为该列定义的种子值。如果未定义种子,则使用默认值 1
[解决办法]
請樓上指出,我哪句說錯了。


不能对以下表使用 TRUNCATE TABLE:

由 FOREIGN KEY 约束引用的表。
参与索引视图的表。
通过使用事务复制或合并复制发布的表。

对于具有以上一个或多个特征的表,请使用 DELETE 语句。

TRUNCATE TABLE 不能激活触发器,因为该操作不记录各个行删除。
-------------------
你看看這些情況,另外再看看樓主的錯誤提示,你覺得會是你列出的這幾種情況嘛。

[解决办法]
晕...楼上的你没错...我对你的话一字不漏的引用意思是支持你...

热点排行