我用的是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開始的。
------解决方案--------------------------------------------------------