c# - 将sqlce表中的标识设置为自动递增?

标签 c# sql-server-ce

我是一名初级程序员(高中生),我的老师给我一个任务,让 sqlce 表中的主键在每次我向数据库中插入新行时自动递增(我认为他也不知道该怎么做 :)

这是我当前的代码:

using (SqlCeConnection con = new SqlCeConnection(conString))
{
    con.Open();

    using (SqlCeCommand com = new SqlCeCommand("INSERT INTO Occupational VALUES(@employedBeforeBool, @nameofEmployer, @Addressemployed,@specificsAtEmployer,@employmentOnDischarge, @yearsExperienceWithEmployer, @desireToReturnToEmployer, @farmingExperienceBool, @tradesorapprentiship, @whattradesorapprentiship, @SoldierID, @Occupational_ID)", con))
    {
        com.CommandText = "SET IDENTITY_INSERT Occupational ON";
        com.Parameters.AddWithValue("@employedBeforeBool", Soldier1.employedBeforeBool);
        com.Parameters.AddWithValue("@nameofEmployer", Soldier1.nameOfEmployer);
        com.Parameters.AddWithValue("@Addressemployed", Soldier1.addressOfEmployer);
        com.Parameters.AddWithValue("@specificsAtEmployer", Soldier1.specificsAtEmployer);
        com.Parameters.AddWithValue("@employmentOnDischarge", Soldier1.employmentOnDischarge);
        com.Parameters.AddWithValue("@yearsExperienceWithEmployer", Soldier1.yearsExperienceWithEmployer);
        com.Parameters.AddWithValue("@desireToReturnToEmployer", Soldier1.desireToReturnToEmployer);
        com.Parameters.AddWithValue("@farmingExperienceBool", Soldier1.farmingExperienceBool);
        com.Parameters.AddWithValue("@tradesorapprentiship", Soldier1.tradeOrApprenticeship);
        com.Parameters.AddWithValue("@whattradesorapprentiship", Soldier1.whattradesorapprentiship);
        com.Parameters.AddWithValue("@SoldierID", SoldierID);
        //com.Parameters.AddWithValue("@Occupational_ID", counter);

        com.ExecuteNonQuery();
    }

我的程序在运行时没有崩溃,看起来它正在插入,但表内没有显示任何内容。

最佳答案

您当前的代码用 SET IDENTITY 文本覆盖了 INSERT INTO 查询。只有 1 个 CommandText 属性。

并且在创建表时使列自动递增,您在插入期间不必执行任何操作。

如果您使用设计器创建表,请返回并将键列的 IDENTITY 属性设置为 true。

关于c# - 将sqlce表中的标识设置为自动递增?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13273466/

相关文章:

c# - 为什么在没有安装 VS.NET 的情况下 C# winforms 应用程序无法运行?

c# - 异步完成时非等待的异步方法调用会发生什么?

c# - NHibernate - 暂时关闭身份

c# - 在 SQL CE 数据库上的 Entity Framework 中使用 DateDiff

datetime - 在 Webmatrix 3 中将日期时间值插入 SQL Server CE

c# - 为什么将更改保存到数据库失败?

具有一次性参数和异步等待的 C# 递归

c# - .NET 中的视频 session

c# - 帮助实现这个节拍检测算法?

SQL LEFT JOIN、Average 和 WHERE