Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从SQL server CE获取上次复制日期/时间_Sql_Sql Server_Windows Mobile_Sql Server Ce_Merge Replication - Fatal编程技术网

从SQL server CE获取上次复制日期/时间

从SQL server CE获取上次复制日期/时间,sql,sql-server,windows-mobile,sql-server-ce,merge-replication,Sql,Sql Server,Windows Mobile,Sql Server Ce,Merge Replication,我在设备上有一个带有SQL Server CE 3.5的Windows Mobile 6.0应用程序。该程序从发布服务器SQL Server 2008获取最新数据。复制工作正常,但我想向用户显示上次从服务器复制的时间 有人知道我可以从哪里获取SQL,我可以在设备上执行SQL,以从SQL Server CE获取此信息吗 非常感谢大家的帮助 迈克// ///获取上次成功同步的本地日期时间 ///如果没有发生同步,将返回DateTime.MinValue /// ///与本地数据库的开放连接 ///

我在设备上有一个带有SQL Server CE 3.5的Windows Mobile 6.0应用程序。该程序从发布服务器SQL Server 2008获取最新数据。复制工作正常,但我想向用户显示上次从服务器复制的时间

有人知道我可以从哪里获取SQL,我可以在设备上执行SQL,以从SQL Server CE获取此信息吗

非常感谢大家的帮助

迈克

//
///获取上次成功同步的本地日期时间
///如果没有发生同步,将返回DateTime.MinValue
/// 
///与本地数据库的开放连接
///上次成功同步的日期和时间
公共日期时间GetLastSuccessfulSyncTime(SqlCeConnection连接)
{
如果(!System.IO.File.Exists(connection.Database))
return DateTime.MinValue;
if(connection.State!=System.Data.ConnectionState.Open)
{
connection.Open();
}
var props=GetPropertiesFromSettings();
使用(SqlCeCommand cmd=connection.CreateCommand())
{
cmd.Connection=连接;
cmd.CommandText=“从信息_schema.tables中选择表_name,其中表_name=@table”;
cmd.Parameters.Add(“@table”,SqlDbType.NVarChar,4000);
cmd.Parameters[“@table”].Value=“\uu sysMergeSubscriptions”;
object obj=cmd.ExecuteScalar();
if(obj==null)
return DateTime.MinValue;
cmd.Parameters.Clear();
cmd.CommandText=“从sysMergeSubscriptions中选择LastSuccessfulSync”+
“其中Publisher=@Publisher和PublisherDatabase=@database和Publication=@Publication”;
cmd.Parameters.Add(“@publisher”,SqlDbType.NVarChar,4000);
cmd.Parameters[“@publisher”].Value=props.publisher;
cmd.Parameters.Add(“@database”,SqlDbType.NVarChar,4000);
cmd.Parameters[“@database”].Value=props.PublisherDatabase;
cmd.Parameters.Add(“@publication”,SqlDbType.NVarChar,4000);
cmd.Parameters[“@publication”].Value=props.publication;
obj=cmd.ExecuteScalar();
if(obj==null)
return DateTime.MinValue;
其他的
返回((日期时间)obj);
}
}

完美!谢谢你在那里的帮助。
    /// <summary>
    /// Get the local Datetime for last succesful synchronization
    /// If no Synchronization has happened, will return DateTime.MinValue
    /// </summary>
    /// <param name="connection">An open connection to the local database</param>
    /// <returns>The date and time for the last succesful sync</returns>
    public DateTime GetLastSuccessfulSyncTime(SqlCeConnection connection)
    {
        if (!System.IO.File.Exists(connection.Database))
            return DateTime.MinValue;

        if (connection.State != System.Data.ConnectionState.Open)
        {
            connection.Open();
        }

        var props = GetPropertiesFromSettings();

        using (SqlCeCommand cmd = connection.CreateCommand())
        {
            cmd.Connection = connection;

            cmd.CommandText = "SELECT table_name FROM information_schema.tables WHERE TABLE_NAME = @table";
            cmd.Parameters.Add("@table", SqlDbType.NVarChar, 4000);
            cmd.Parameters["@table"].Value = "__sysMergeSubscriptions";
            object obj = cmd.ExecuteScalar();

            if (obj == null)
                return DateTime.MinValue;
            cmd.Parameters.Clear();

            cmd.CommandText = "SELECT LastSuccessfulSync FROM __sysMergeSubscriptions " +
                "WHERE Publisher=@publisher AND PublisherDatabase=@database AND Publication=@publication";

            cmd.Parameters.Add("@publisher", SqlDbType.NVarChar, 4000);
            cmd.Parameters["@publisher"].Value = props.Publisher;

            cmd.Parameters.Add("@database", SqlDbType.NVarChar, 4000);
            cmd.Parameters["@database"].Value = props.PublisherDatabase;

            cmd.Parameters.Add("@publication", SqlDbType.NVarChar, 4000);
            cmd.Parameters["@publication"].Value = props.Publication;

            obj = cmd.ExecuteScalar();
            if (obj == null)
                return DateTime.MinValue;
            else
                return ((DateTime)obj);
        }
    }