我在c#中工作,并使用sql命令来获取,添加,更改Access数据库中的数据。我想要做的是检查数据库中的表格中的特定数据或记录。我需要命令返回一个值(真/假,0/1),这将指示数据是否存在。我的总体目标是能够运行此检查,如果数据存在,则不执行任何操作。如果数据不存在,则创建它。有谁知道如何做到这一点。我认为有一种方法可以用sql来做到这一点,但我可能是错的。就是这样。我希望我正确地提出了我的问题和问题。在C#中,如何使用SQL来检查数据库中的现有数据?
回答
我会采取的方法是获得匹配数据的所有行。
SELECT *
FROM yourTable
WHERE
yourTable.field1=value1
AND
yourTable.field2=value2
从这一点,你可以简单地说,如果有任何记录,不要添加新的记录。
//we will assume the dt is a DataTable containing the data retrieved from the query
if(dt.rows.count==0)
{
//add the record
}
如果您喜欢在SQL中使用COUNT你可以选择记录
SELECT COUNT(*)
FROM yourTable
WHERE
yourTable.field1=value1
AND
yourTable.field2=value2
而且使用的ExecuteScalar人数(选择第一行的第一列返回)
//cmd is a command object that is set up to query your database
try
{
int count=Convert.ToInt32(cmd.ExecuteScalar())
if(count==0)
{
//add the record
}
}
catch(Exception ex)
{
//do something with the error
}
说到将数据导入DataTable,请参阅Derek的答案。 – Cityonhill93
这就是我现在正在尝试的方式。 – woods
我不得不解决这里出现的错误。我正在使用COUNT(),但COUNT()将始终返回1条记录(包含记录数)。我这次做的是用条件选择所有数据并计算行数。 – Cityonhill93
您可以运行一个简单的SELECT查询,其中包含一个WHERE子句,该WHERE子句由与每个添加项目对应的唯一值组成,并取决于您可以进行检查。
我在想这种方式。 – woods
如果你这么认为,那么就做吧,一切顺利:) –
您需要了解带数据适配器,命令和SQL搜索字符串的OledbConnection。
http://msdn.microsoft.com/en-us/library/aa288452(v=vs.71).aspx
**编辑** 您可以创建这样一个私人的布尔方法: -
Private Bool RecordMatch()
{
// Perform SQL Search On Data Here, using Data Adapter and populating DataTable.
// If DataTable is null reference return false
// Else Return True
}
如果行可以使用foreach语句,在您检查表中的所有行,是等于想要的行,比返回true,否则返回false ...
这可行,但不会很快(大规模的租赁......想象一下,以这种方式观看50000行......嗨!) – Cityonhill93
- 1. C#SQL数据库检查
- 2. 如何使用PHP检查Mysql数据库中的数据?
- 3. SQL如何检查数据库数据的有效性?
- 4. 如何使用查找来编辑数据库中的数据?
- 5. 如何使用现有数据在android中创建数据库?
- 6. 如何在c#中使用删除查询sql数据库?
- 7. 如何同步/检查数据库中的数据到C#中的数据表?
- 8. 使用jquery和servlet检查数据库中的现有用户
- 9. 通过AJAX检查数据库中现有的数据
- 10. 检查数据库中现有数据的最佳方法(iOS)
- 11. MS SQL Server 2000中 - 检查现有的数据库错误
- 12. Firebase数据库 - 检查现有用户
- 13. 如何检查数据库中是否有相同的数据?
- 14. 如何检查数据库表中的现有行
- 15. 如何检查数据库中的现有值并更改它?
- 16. 如何使用PHP检查做了SQL数据库已经有
- 17. 如何检查用户是否存在于SQL数据库中
- 18. 如何使用phonegap从现有数据库中检索值android
- 19. 从现有的数据库中检索数据,并在Android的
- 20. 在SQLCipher中使用现有数据库
- 21. 在Django中使用现有数据库
- 22. 在android中使用现有数据库
- 23. 在现有数据库中使用Rails
- 24. 在现有数据库中使用FluentMigrator
- 25. 检查记录的存在,在Access数据库中使用C#
- 26. 重组数据库,在phpmyadmin中使用SQL来移动数据
- 27. 检查mongo数据库中的数据
- 28. 如何检查数据是否已在数据库中存在的C#
- 29. 如何在SQL Server中从现有数据库创建新数据库
- 30. 我如何检索来自sqlite数据库的文本数据在objective-c中?
除非我误解了你,只是做一个'SELECT COUNT(*)FROM ....',如果没有任何返回你知道数据不存在于第一位?另外值得注意的是,如果你的表有一个主键,并且你插入一个重复的主键,它将会出错。 – Arran
我没有想到COUNT()的想法。我会试一试。 – woods