bool IsOk=false;
try
{
string strTemp = "";
rApi.Connect();
if ((rApi.DeviceFileExists("\\Program Files\\xxx.sdf")))
{
if (File.Exists(dirName + "\\xxx.sdf"))
File.Delete(dirName + "\\xxx.sdf");
//将文件从PDA中拷贝到本地电脑中
rApi.CopyFileFromDevice(dirName + "\\xxx.sdf", "\\ProgramFiles\\xxx.sdf", true);
//备份数据文件
strTemp = dirName + "\\" + System.DateTime.Now.ToString("yyyyMMddhhmm");
DirectoryInfo dirinfo = Directory.CreateDirectory(strTemp);
rApi.CopyFileFromDevice(strTemp + "\\xxx.sdf", "\\ProgramFiles\\xxx.sdf", true);
//备份结束
rApi.DeleteDeviceFile("\\Program Files\\xxx.sdf");
IsOk = true;
}
else
{
backUpDBToPDA(dirName); //将文件备份回PDA
IsOk = false;
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
IsOk=false;
}
return IsOk;
9 个解决方案
#1
那做个md5码验证吧
#2
1 判断文件的长度,如果文件长度固定或者可以算出的话
2 在文件最后加上一个标志字段,最后写入,如果没有,说明文件损坏
2 在文件最后加上一个标志字段,最后写入,如果没有,说明文件损坏
#3
请问楼上 caozhy 怎么加标志字段? 有代码吗 我是菜鸟。。
#4
怎么做md5 验证啊
#5
sdf格式啊。
那传输完数据文件再传输一个空文件。(比如和sdf文件同名,不同扩展名,如传输 123.sdf,那么就产生一个 123.empty 的空文件)
如果发现没有这个空文件,就是没有传完断开了。
那传输完数据文件再传输一个空文件。(比如和sdf文件同名,不同扩展名,如传输 123.sdf,那么就产生一个 123.empty 的空文件)
如果发现没有这个空文件,就是没有传完断开了。
#6
rApi.CopyFileFromDevice(dirName + "\\xxx.sdf", "\\ProgramFiles\\xxx.sdf", true);
rApi.CopyFileFromDevice(dirName + "\\xxx.sdf", "\\ProgramFiles\\xxx.txt", true);
然后判断本地是否有XXX.TXT?
如果这样写的话 那第一句没传完就断开了 ,第二句就不执行了?
rApi.CopyFileFromDevice(dirName + "\\xxx.sdf", "\\ProgramFiles\\xxx.txt", true);
然后判断本地是否有XXX.TXT?
如果这样写的话 那第一句没传完就断开了 ,第二句就不执行了?
#7
嗯。但是你没有必要传xxx.sdf了,再传一个空文件不更好么,因为你只要判断文件有没有。
#8
拷贝文件后,先进行一次简单的测试,目标文件是否存在,大小是否一致,
然后在整体校验对比一次。。。。
网上有很多MD5的对比方式,很多。
然后在整体校验对比一次。。。。
网上有很多MD5的对比方式,很多。
#9
用engine.Verify()判断
#1
那做个md5码验证吧
#2
1 判断文件的长度,如果文件长度固定或者可以算出的话
2 在文件最后加上一个标志字段,最后写入,如果没有,说明文件损坏
2 在文件最后加上一个标志字段,最后写入,如果没有,说明文件损坏
#3
请问楼上 caozhy 怎么加标志字段? 有代码吗 我是菜鸟。。
#4
怎么做md5 验证啊
#5
sdf格式啊。
那传输完数据文件再传输一个空文件。(比如和sdf文件同名,不同扩展名,如传输 123.sdf,那么就产生一个 123.empty 的空文件)
如果发现没有这个空文件,就是没有传完断开了。
那传输完数据文件再传输一个空文件。(比如和sdf文件同名,不同扩展名,如传输 123.sdf,那么就产生一个 123.empty 的空文件)
如果发现没有这个空文件,就是没有传完断开了。
#6
rApi.CopyFileFromDevice(dirName + "\\xxx.sdf", "\\ProgramFiles\\xxx.sdf", true);
rApi.CopyFileFromDevice(dirName + "\\xxx.sdf", "\\ProgramFiles\\xxx.txt", true);
然后判断本地是否有XXX.TXT?
如果这样写的话 那第一句没传完就断开了 ,第二句就不执行了?
rApi.CopyFileFromDevice(dirName + "\\xxx.sdf", "\\ProgramFiles\\xxx.txt", true);
然后判断本地是否有XXX.TXT?
如果这样写的话 那第一句没传完就断开了 ,第二句就不执行了?
#7
嗯。但是你没有必要传xxx.sdf了,再传一个空文件不更好么,因为你只要判断文件有没有。
#8
拷贝文件后,先进行一次简单的测试,目标文件是否存在,大小是否一致,
然后在整体校验对比一次。。。。
网上有很多MD5的对比方式,很多。
然后在整体校验对比一次。。。。
网上有很多MD5的对比方式,很多。
#9
用engine.Verify()判断