繁体   English   中英

C#数组是MySQL Select语句的一部分吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM