1

我想在我的类中的名称表( tName)、数据库属性中插入一个名称,并创建了一个模型方法来将值添加到数据库中。NameAdd

然后我想返回na带有最后添加参数的对象。

我怎样才能做到这一点?

public Name Add(string name)
{
    Name na = new Name();
    using (DatabaseCommand cmd = 
                     new DatabaseCommand("INSERT INTO tName (NA) values (@nm)"))
    {
        cmd.Parameters.AddWithValue("@nm", name);
        int created=cmd.ExecuteNonQuery();
        if (created == 1)
        {

        }
        return na;
    }
}
4

1 回答 1

3

你熟悉语句的可选OUTPUT子句INSERT吗?您可以执行如下查询:

INSERT INTO tName (NA)
OUTPUT INSERTED.ID, INSERTED.tName
VALUES (@nm)

这允许您输出插入行的新创建的 ID。在此处阅读有关OUTPUT子句的更多信息。

当然,如果您在 C# 中这样做,您将不得不使用ExecuteReader而不是ExecuteNonQuery,因为我们现在对查询的返回值感兴趣,而不仅仅是受影响的行数。阅读更多关于ExecuteReader 这里

于 2013-06-18T03:59:52.570 回答