- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试完成一个看似简单的任务,但实际上却变成了几个小时的冒险:从 TableAdapter.Insert()
获取 @@Identity
。
这是我的代码:
protected void submitBtn_Click(object sender, EventArgs e)
{
AssetsDataSetTableAdapters.SitesTableAdapter sta = new AssetsDataSetTableAdapters.SitesTableAdapter();
int insertedID = sta.Insert(siteTxt.Text,descTxt.Text);
AssetsDataSetTableAdapters.NotesTableAdapter nta = new AssetsDataSetTableAdapters.NotesTableAdapter();
nta.Insert(notesTxt.Text, insertedID, null,null,null,null,null,null);
Response.Redirect("~/Default.aspx");
}
一个 answer 建议我可能要做的就是更改 ExecuteMode
。我试过了。这使得 GetData()
停止工作(因为我现在返回的是标量而不是行数据)(我需要保留 GetData())。它也没有解决 insertedID 变量仍设置为 1 的问题。
我尝试在 TypedDataSet.XSD
中创建第二个 TableAdapter
并将该适配器的属性设置为“标量”,但变量获取值仍然失败共 1 个。
生成的插入命令为
INSERT INTO [dbo].[Sites] ([Name], [Description]) VALUES (@Name, @Description);
SELECT Id, Name, Description FROM Sites WHERE (Id = SCOPE_IDENTITY())
并且还设置了“刷新数据表”(在 Insert 和 Update 语句之后添加一个 select 语句以检索标识)。
环境
SQL Server 2008 R2、Visual Studio 2010、.NET 4、Windows XP,所有本地同一台机器。
这是什么原因造成的?
编辑/更新
我想澄清一下,我在 Visual Studio 中使用自动生成的代码。我不知道生成代码的“工具”是什么,但是如果您双击 *.XSD 文件,它会显示 SQL 表架构和关联的 TableAdapter 的 UI。我想继续使用自动生成的代码并以某种方式启用获取身份。我不想用存储过程手工编写这一切。
最佳答案
真正的答案:
Get identity from tableadapter insert function
I keep getting questions about this issue very often and never found time to write it down.
Well, problem is following: you have table with primary key with int type defined as Identity and after insert you need to know PK value of newly inserted row. Steps for accomplishing to do this are following:
use wizard to add new insert query (let's call it InsertQuery) in the body of query just add SELECT SCOPE_IDENTITY() at the bottom after saving this query, change ExecuteMode property of this query from NonQuery to Scalar in your code write following (ta is TableAdapter instance) :
int id;
try
{
id = Convert.toInt32(ta.InsertQuery(firstName, lastName, description));
}
catch (SQLException ex)
{
//...
}
finally
{
//...
}Make money with this! :) Posted 12th March 2009 by Draško Sarić
From: http://quickdeveloperstips.blogspot.nl/2009/03/get-identity-from-tableadapter-insert.html
注意事项:
可以通过生成的插入查询的属性将 ExecutMode 设置为 Scalar。 (按 F4)。
在我的版本 (Visual Studio 2010 SP1) 中,选择语句是自动生成的。
关于c# - 从 TableAdapter 获取@@IDENTITY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3704394/
使用新版本的 VS 2013 RTM 和 asp.net mvc 5.0,我决定尝试一些东西... 不用说,发生了很多变化。例如,新的 ASP.NET Identity 取代了旧的 Membershi
请参阅下面的代码: var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model
我对 asp.net 核心标识中的三个包感到困惑。我不知道彼此之间有什么区别。还有哪些是我们应该使用的? 我在 GitHub 上找到了这个链接,但我没有找到。 Difference between M
Visual Studio-为AspNet Identity 生成一堆代码,即LoginController 和ManageController。在 ManageController 中有以下代码:
我是 SwiftUI 的新手,在连续显示警报时遇到问题。 .alert(item:content:) 的描述修饰符在它的定义中写了这个: /// Presents an alert. ///
我有一个 scalaz Disjunction,其类型与 Disjunction[String, String] 相同,我只想获取值,无论它是什么。因此,我使用了 myDisjunction.fold
我有一个 ASP.NET MVC 应用程序,我正在使用 ASP.NET Identity 2。我遇到了一个奇怪的问题。 ApplicationUser.GenerateUserIdentityAsyn
安全戳是根据用户的用户名和密码生成的随机值。 在一系列方法调用之后,我将安全标记的来源追溯到 SecurityStamp。 Microsoft.AspNet.Identity.EntityFramew
我知道 Scope_Identity()、Identity()、@@Identity 和 Ident_Current() 全部获取身份列的值,但我很想知道其中的区别。 我遇到的部分争议是,应用于上述这
我正在使用 ASP.NET 5 beta 8 和 Identity Server 3 以及 AspNet Identity 用户服务实现。默认情况下,AspNet Identity 提供名为 AspN
我想在identity 用户中上传头像,并在账户管理中更新。如果有任何关于 asp.net core 的好例子的帖子,请给我链接。 最佳答案 我自己用 FileForm 方法完成的。首先,您必须在用户
在 ASP.NET 5 中,假设我有以下 Controller : [Route("api/[controller]")] [Authorize(Roles = "Super")] public cl
集成外部提供商(即Google与Thinktecture Identity Server v3)时出现问题。出现以下错误:“客户端应用程序未知或未获得授权。” 是否有人对此错误有任何想法。 最佳答案
我有一个 ASP.NET MVC 5 项目( Razor 引擎),它具有带有个人用户帐户的 Identity 2.0。我正在使用 Visual Studio Professional 2013 我还没
我配置IdentityServer4使用 AspNet Identity (.net core 3.0) 以允许用户进行身份验证(登录名/密码)。 我的第三个应用程序是 .net core 3.0 中
我创建了一个全新的 Web 应用程序,比如“WebApplication1” - 身份验证设置为个人用户帐户的 WebForms。我不会在自动生成的代码模板中添加一行代码。我运行应用程序并注册用户“U
是否可以为“系统”ASP.NET Identity v1 错误消息提供本地化字符串,例如“名称 XYZ 已被占用”或“用户名 XYZ 无效,可以只包含字母或数字”? 最佳答案 对于 ASP.NET C
我对 Windows Identity Foundation (WIF) 进行了非常简短的了解,在我看来,我的网站将接受来自其他网站的登录。例如任何拥有 Gmail 或 LiveID 帐户的人都可以在
我需要向 IS 添加自定义权限和角色。此处提供用例 http://venurakahawala.blogspot.in/search/label/custom%20permissions .如何实现这
我有许多使用 .NET 成员身份和表单例份验证的旧版 .NET Framework Web 应用程序。他们每个人都有自己的登录页面,但都在同一个域中(例如.mycompany.com),共享一个 AS
我是一名优秀的程序员,十分优秀!