标签:c sql-server
我正在使用SQL Server 2005和C#.当我将记录插入数据库时,我想获取主键值.
为此,我有一个C#方法,可以在其中插入和更新记录.我正在使用ExecuteScalar方法进行插入和更新.
插入成功,但更新不成功.如何使用ExecuteScalar获取更新的主键?
解决方法:
通常,ExecuteScalar方法用于返回至少一个数据字段的查询(例如SELECT查询的结果).如果只希望执行某些操作,则应改用ExecuteNonQuery方法.
即使使用ExecuteNonQuery方法,您仍可以在函数完成后读取参数值.例如,您的命令可能类似于:
INSERT INTO TableName(someFields) VALUES (someValues)
SET @Id = SCOPE_IDENTITY()
如果您使用的是自动增量键,或者
SET @Id = newid()
INSERT INTO (ID, someFields) VALUES (@id, someValues)
如果您使用uniqueidentifier作为键.
之后,您可以将输出@Id参数添加到命令中,调用ExecuteNonQuery,然后从参数中读取值.
标签:c,sql-server 来源: https://codeday.me/bug/20191209/2096695.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。