首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何知道数据库中是否存在特定的记录?

如何知道数据库中是否存在特定的记录?
EN

Stack Overflow用户
提问于 2011-12-06 01:18:56
回答 3查看 3.1K关注 0票数 0

我如何知道特定数据是否存在于数据库中?例如,如果数据库的表中已经有"Student_Id“和"Course_Id”,则更新记录,否则插入记录。

我已经有了一个用于插入数据的控制器操作,但我想添加一个附加功能,它将检查数据库(SQL Server),并根据记录是否存在或现在执行插入/更新。

我使用Linq to SQL来插入数据。

提前感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-06 01:22:02

在添加数据之前,您可以通过一个简单的语句检查数据是否存在。

代码语言:javascript
运行
复制
bool exists = yourTable.Any(row => row.StudentID == studentId && row.CourseID = courseID);

不过,理想情况下,您应该将数据库设计为使Student_IdCourse_Id成为该表的组合惟一键,这样,如果记录已经存在,您的代码将根本无法添加它们。

正如Maess所问的,这些值是如何生成的?根据数据是否是用户生成的,您的选项可能会发生变化。例如,如果您有两个用于选择学生和课程的下拉框,则不允许用户选择该学生已经选择的课程。

票数 1
EN

Stack Overflow用户

发布于 2011-12-06 01:23:05

由于您使用的是LinqToSql,所以我会这样做

代码语言:javascript
运行
复制
var item = (from c in dataContext.TableName
           where c.StudentID == your_sid && c.CourseID== your_course_id
           select c).FirstOrDefault();


if(item==null)
{
   //insert the record
}
else
{
   //update the record
}
票数 2
EN

Stack Overflow用户

发布于 2011-12-06 01:26:37

尝试使用.FirstOrDefault()获取记录,如果为null,则插入,然后更新values和.SubmitChanges()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8389183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档