1

私は WorkAboutPro 4 を持っており、これでアプリケーションを実行しています。このアプリケーションは、SQLlite データベースを使用します。

今では、コンピューター プログラムも同時に実行しています。ここでは、RAPI2 を使用してハンドヘルド デバイスを操作しています。デバイスを接続するとすぐに関数がトリガーされ、最初にハンドヘルドからコンピューターにデータベースがプルされます。それから私はそれでいくつかのことをして、それを押し戻します。問題は、返されるデータベースが常に 0kb であり、データがなく、テーブルさえないことです。

//Create my Paths
string myDevice = device.GetFolderPath(SpecialFolder.ProgramFiles);
string deviceFile = myDevice + @"\PPPM\SQL_PPPM.s3db";
string myComputer = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase).Substring(6);
string localFile = myComputer + @"\SQL_PPPM.s3db";

//Get the Database
RemoteFile.CopyFileFromDevice(device, deviceFile, localFile, true);

//Do Stuff
try
  ....
catch(Exception ex)
  ....

//Push The Database back
RemoteFile.CopyFileToDevice(device, localFile, deviceFile, true);

まず、接続を介してデータベースをプッシュできないためだと思いました。それで、完全なデータベースを自分のコンピューターにプルしようとしました。しかし、これはうまく機能します。それから私は続けて、空の Txt ファイルを私の持っていたものに置きました。それを引っ張って、テキストを追加して、それを押しても、これはうまくいきます。

したがって、問題が発生するのは、完全なデータベースを HandHeld にプッシュしようとすると、0kb の空のデータベースになることだけです。

これがなぜなのか誰にも分かりますか?

ロータス〜

編集: デバイスが接続されているかどうかを検出し、PDA からファイルをプッシュ/プルするより良い方法を知っている場合は、お知らせください。

4

1 に答える 1