【问题标题】:Retrieving data from database #2从数据库 #2 中检索数据
【发布时间】:2013-01-01 20:20:51
【问题描述】:

我有以下命令在我的表中插入(姓名,家庭,地址)值(ID,姓名,家庭,地址) 我正在使用数据集和数据适配器

 stdDataSetTableAdapters.studentTableAdapter da = new stdDataSetTableAdapters.studentTableAdapter();
 da.InsertCard("Albert", "Alexis","No4.London");

它起作用了,它在我的数据库中添加了新的数据行: 但插入后出现问题,我想显示类似的内容:ID(主键)和一条消息。

Display(ID +"Record Successfully Added ")

如何在我的显示中填充添加记录的 ID?

P.S:我正在使用 Sql Ce 和查询,我正在使用 Adapter 生成它们并调用它们

【问题讨论】:

  • 是否'id = da.InsertCard("Albert", "Alexis","No4.London");'编译并返回一个值?

标签: c# dataset sql-server-ce dataadapter


【解决方案1】:

看看这个例子

INSERT INTO Employee (EmpName,Emp_level,Emp_Sal) VALUES ('Chris', 25B, 54000);

SELECT Emp_id FROM jobs Employee Emp_id = @@IDENTITY;

欲了解更多信息,请参阅Identity(SQl Authority)

还有这个Identity(MSDN))

作为 Identity 的替代解决方案,也可以使用 MAX() 一个简单的语法就像 SELECT MAX(Emp_id) FROM Employee ; 希望这会有所帮助

【讨论】:

  • 它给了我第一个 ID,而不是最新的!
  • 使用 SCOPE_IDENTITY 代替 @@IDENTITY
  • SCOPE_IDENTITY() 在 SQL CE 中不受支持
  • 我有这个查询:从 studentTable 中选择 ID;我应该把身份放在哪里?
  • 如果你插入多于一行,那么 MAX(ID) 将只给出一条记录。
【解决方案2】:

请尝试以下可能对您有帮助的查询,

SELECT Top1 Emp_id FROM jobs Employee Emp_id = @@IDENTITY; 

SELECT Max Emp_id FROM jobs Employee Emp_id = @@IDENTITY; 

【讨论】:

  • 是否有必要编辑@Sankar!?!?我只是给他一个小费。感谢您的关心。
  • Mr.CodeBrain 我已编辑以确保您的信息必须以清晰的方式传达给所有人
  • 伙计们,我如何将@@IDENTITY 和 INSERT Commend 组合在一起?有什么办法吗?
猜你喜欢
  • 2019-11-19
  • 2021-02-11
  • 2017-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多