0

デバイスにSQL Server CE 3.5を搭載したWindows Mobile 6.0アプリケーションがあります。プログラムはパブリッシャ(SQL Server 2008)から最新のデータを取得します。レプリケーションはうまくいきますが、前回サーバーからレプリケートしたときにユーザーに表示します。SQLサーバから最後の複製日時を取得CE

SQL Server CEからこの情報を取得するためにデバイス上で実行できるSQLを入手できる場所は誰にも分かりますか?

マイク

答えて

1
/// <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 [email protected] AND [email protected] AND [email protected]"; 

      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); 
     } 
    } 
+0

パーフェクト!あなたの助けてくれてありがとう。 – hydev

関連する問題