如何进行两个字段相同的数据窗口的数据比较

l_chlmh 2009-03-09 11:05:34
如题,共有150多个字段(字符型,日期型,数值型),本想一个一个字段的比较,觉得有点不干,想请较一下高手.
昨天一位仁兄帮我写了一块代码,可惜,只支持数值型的。
...全文
203 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2009-03-09
  • 打赏
  • 举报
回复
如果是SQL SERVER,可以直接用语句实现.

如何从表A(总表)中找出表B(分表)中不存在的记录组合

假设表A和表B都只有两个字段id,name
如何用一句SQL返回表A中存在的id,name结果集而在表B中不存在的id,name结果集

select A.* from A left join B on A.id=B.id and A.name=B.name where B.id is null

select * from A where not exists(select top 1 * from B where A.ID=B.ID)

这两个都可以.


--前提:表中不能有text、ntext、image、cursor 数据类型的字段。

用CheckSum()最简单:

select * from A where checksum(*) not in (select checksum(*) from B)

----------------------------------------------------------------------


查询表A,表B中重复的记录

select * from A where checksum(*) in (select checksum(*) from B)

查询表A,表B中重复的记录,并把结果输入到表C中。

select * into c from A where checksum(*) in (select checksum(*) from B)
dawugui 2009-03-09
  • 打赏
  • 举报
回复
好象只能这么干?

for i = 1 to 150
if i = 1 or (i >= 4 and i <= 100) or ... --列为数值型的
if dw_1.getitemnumber(某行,i) = dw_2.getitemnumber(某行,i) then
...
else
...
end if
else
if i = 2 ...--列为字符串型的.
if dw_1.getitemstring(某行,i) = dw_2.getitemstring(某行,i) then
...
else
...
end if
else
...其他类型
end if

end if
l_chlmh 2009-03-09
  • 打赏
  • 举报
回复
解决了,谢谢.
lovemoreh 2009-03-09
  • 打赏
  • 举报
回复
我刚才测试通过的代码片段:

any lany_a[], lany_b[]
int li_a, li_b

li_a = integer(sle_1.text) //用来临时输入需要比较的两行行号。
li_b = integer(sle_2.text)

lany_a = dw_1.object.data[li_a]

lany_b = dw_1.object.data[li_b]

if lany_a[3] = lany_b[3] then //本处只对比了一个元素,所有元素的对比自己写吧。
messagebox('', '相等')
else
messagebox('', '不相等')
end if

我刚才测试中,用了real, datetime, long, string四种类型的字段,全通过。
dengmingcai 2009-03-09
  • 打赏
  • 举报
回复
请教一下各位高手,急:
PB中的picture控件加载用PB转出来的JPG图片时出现:Not a JPEG file:starts with 0x42 0x4d错误。
这个JPG图片是我用PB在数据库中二进制转过来的。但我发现这种转出来的JPG,不能用PHOTOSHOP打开,于是我怀疑是PB本身的问题(转出来的JPG是个伪JPG),但后面我用C#写的一个转JPG的文件,发现也是一样不能用PHOTOSHOP打开,同样不能在PB中用picture控件打开,一打开便会出现上面的错误。所以我想应该是别的什么原因,因为我以前的一个同事用JAVA写的转JPG的程序转出来就可以在PB中打开 。经过仔细对比发现即使同一个二进制文件转出来的JPG尺寸也不一样(pb\c#的尺寸是:102*126而JAVA是:295*413),并且JAVA转出来的可以用PHOTOSHOP打开,而我用PB、C#转出来的却不能,麻烦各位大虾PB高手帮忙指点。
dengmingcai 2009-03-09
  • 打赏
  • 举报
回复
看一下是否可以,我没用过。
If dw_1.Ojbect.Original = dw_2.Ojbect.Original Then
MessageBox("simple")
Else
MessageBox("no simple")
End If
内容概要:本文详细记录了对一个Android ARM64静态ELF文件中字符串加密机制的逆向分析过程。该ELF文件的所有字符串均被加密,无法通过常规strings命令或IDA直接识别。作者通过分析发现,加密字符串存储在.rodata段,其解密所需信息(包括密文地址、长度和16位密钥)保存在.data.rel.ro段的40字节描述符中。核心解密函数sub_10F408采用自反的双pass流密码算法,结合固定密钥KEY_TERM(由.data段24字节数据计算得出),实现字节级非线性、位置与长度相关的加密。文章还复现了完整的Python解密脚本,并揭示了该保护机制的本质为代码混淆而非强加密,最终成功批量解密全部956条字符串,暴露程序真实行为,如shell命令模板、设备标识篡改、网络重置等操作。此外,文中还提及未启用的自定义壳框架及其反dump设计。; 适合人群:具备逆向工程基础的安全研究人员、二进制分析人员及对ELF保护技术感兴趣的开发者。; 使用场景及目标:①学习ELF二进制中字符串加密的典型实现方式与逆向突破口;②掌握从结构识别、函数追踪到算法还原的完整逆向流程;③理解“绑定二进制”的完整性校验设计及其局限性;④实践编写IDAPython脚本自动化提取与解密敏感数据。; 阅读建议:此资源以实战案例驱动,不仅展示技术细节,更强调逆向思维与验证方法,建议读者结合IDA调试环境,逐步跟随文中步骤进行动态分析与算法验证,深入理解每一步的推理依据。

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧