[英]C# Array as part of MySQL Select Statement?
好的,这是我的情况-我想查询本地数据库并将GUID select查询的结果存储到数组中。
然后,我想查询远程服务器以返回结果集,该结果集基本上显示任何新记录
这是查询,但是显然这仅适用于同一服务器。
SELECT *
FROM remotetable remote
WHERE NOT EXISTS
(
SELECT 1
FROM localtable local
WHERE local.guid = remote.guid
)
并将此查询的结果插入我的本地数据库以进行合并。
所以就像
ArrayList myArrayList = new ArrayList();
OdbcConnection local = new OdbcConnection("DSN=local");
local.Open();
OdbcCommand guidSelect = new OdbcCommand("SELECT GUID from localtable",local);
OdbcDataReader DbReader = guidSelect.ExecuteReader();
while (DbReader.Read())
{
String guid = (string)DbReader[0];
myArrayList.Add(guid);
}
local.Close();
OdbcConnection local = new OdbcConnection("DSN=remote");
"SELECT * FROM remotetable remote WHERE NOT EXISTS (SELECT 1 FROM"+ myArrayList() +" local WHERE local.guid = remote.guid)
显然,这无法按原样工作,但应该大致概述id要完成的工作
提前致谢 :)
我知道如何执行此操作的唯一方法是实际上将这样的Guid表传递给:
string guids = "''" + string.Join("'',''", myArrayList) + "''";
string query = string.format("SELECT * FROM remotetable WHERE NOT id IN ({0})", guids);
我认为,如果您要跟踪新记录,则应只添加一个顺序列,然后获取高于本地该列的MAX以上的所有内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.