我在 C# 中有一个 DataTable,想将它发送到我的 SQL CE 4 服务器。让它变得更复杂的一件事是,当它遇到重复项时,它应该要么忽略它并继续移动到 DataTable 中的下一行。我环顾四周,但发现很多信息似乎不适用于 SQL Server 的 CE 版本。这样做的有效方法是什么?
问问题
638 次
2 回答
1
在上传之前过滤您的数据表以排除重复的行,使用DataTable.Select
方法
例如
DataTable table = DataSet1.Tables["Orders"];
// Presuming the DataTable has a column named Date.
string expression;
expression = "Date > #1/1/00#"; // you will need logic to remove your duplicates
DataRow[] foundRows;
// Use the Select method to find all rows excluding duplicates
foundRows = table.Select(expression);
// .NET 3.5 onwards
DataTable filteredDataTable = foundRows.copyToDataTable();
于 2011-12-20T01:58:43.813 回答
0
试试这个逻辑。
var dt = new DataTable(); //Supposed that this is your DataTable
foreach(DataRow row in dt.Rows)
{
var find = MyFindMethod("Id"); 1. select statement that find if the id is on database
if(find.Rows > 0)
{
//Id exist do nothing
}
else
{
//Id not exist then 2. Do Insert to sql ce id I not exist
MyInsertMethod("Id");
}
}
问候
于 2011-12-20T02:03:37.890 回答