gpt4 book ai didi

c# - ExecuteScalar 不返回第一行的第一列

转载 作者:太空宇宙 更新时间:2023-11-03 19:07:03 24 4
gpt4 key购买 nike

我有这个模块

   strSQL = "Insert Into TblInsurancePersonel (CompId,PersonelNo,FirstName,LastName) ";
strSQL = strSQL + " Values (@CompId,@PersonelNo,@FirstName,@LastName)";
using (SqlConnection myConnection = new SqlConnection(AppConfiguration.ConnectionStringName))
{
Helpers helpers = new Helpers();
myConnection.ConnectionString = helpers.GetConnectionString(myUser.ServerName, myConnection.ConnectionString);
using (SqlCommand myCommand = new SqlCommand(strSQL, myConnection))
{
myCommand.Parameters.AddWithValue("@CompId", insurPersonel.CompId);
myCommand.Parameters.AddWithValue("@PersonelNo", insurPersonel.PersonelNo);
myCommand.Parameters.AddWithValue("@FirstName", insurPersonel.FirstName);
myCommand.Parameters.AddWithValue("@LastName", insurPersonel.LastName);
myConnection.Open();
int i= Convert.ToInt32(myCommand.ExecuteScalar());
myConnection.Close();

TblInsurancePersonel 中的字段是“Id、CompId、PersonelNo、FirstName、LastName”,其中 Id 是一个身份,所以我想在添加新记录时获得它的值(我的意思是我可以有一个身份新纪录 ) 。但它一直返回值 0 但记录已正确添加

问题出在哪里?

最佳答案

INSERT 不返回任何数据;它不显示第一行的第一列...为此,您需要 SELECT

也许你想要:

SELECT SCOPE_IDENTITY()

INSERT 之后。还有一个 OUTPUT 语法可以做到这一点:

INSERT ...
OUTPUT INSERTED.Id
VALUES ...

关于c# - ExecuteScalar 不返回第一行的第一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25521205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com