说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

delphi 需求如下:查询各个表中的数据列的数据类型,除int外,所有数据都要通过加密代码加密,代码写到如何读取类型所对应的列值时

编辑:说三道四文库 发布时间:2017-08-23 12:45
HTML文档下载 WORD文档下载 PDF文档下载
delphi 数据库 select //数据库数据加密 Schema 数据库名称,Name:要查询的表的名称
procedure TOperationDM.DataOperations(Schema:String;Name:String);
var
  i,j,k:Integer;
  strSql,allSql:String;
  counts:Integer;
  list :TStringList;
  strType:Sting;

begin
  list :=TStringList.Create;
  OperationADOCon.Close;
  OperationADOCon.ConnectionString:= TOper.readParamdb;
  OperationADOCon.Open;
  try
     with ADOQuery1 do
     begin
        strSql := 'SELECT DATA_TYPE FROM information_schema.`COLUMNS`'
                +'WHERE TABLE_SCHEMA LIKE "'+Schema+'" '
                +'AND TABLE_NAME LIKE "'+Name+'"';

        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        sql.Add(strSql);
        ADOQuery1.Open;
        counts := ADOQuery1.RecordCount;
        if(counts >0) then
        begin
          for i:=0 to counts-1 do
          begin
           list.Add(ADOQuery1.fieldbyName('DATA_TYPE').AsString);
          end;
          for j:=0 to list.Count-1 do
          begin
             strType := list[j];
             if (Trim(strType) <> 'int') then   //判定,除了int类型的数据以外其他类型的数据全部加密
             begin
                 //将数据类型所对应的数据进行加密操作(问题是这个对应的值如何获得呢,请高手赐教,本人刚接触delphi还有很多东西高步清楚的)
               
             end;
          end;
        end;
     end;
  finally
   OperationADOCon.Close;
   ADOQuery1.SQL.Clear;
   ADOQuery1.Close;
  end;
end;
泪奔了,请高手指教
既然用ADO,那就
直接用TADOQuery去
SELECT 表名的全部字段
用TField取类型和值即可。
如 Fields[0].DataType 和 Fields[0].AsString (或 As 其它类型)
你会发现ADO.Connection提供很多与Schema有关的信息。
谢谢,我试试,能不能解决
下面的那部分调用加密的程序基本完成,可是到那个得到数据类型,列名,那部分查询出来10条数据,可是当我取值的时候,程序会把第一条重复10次保存到list中,什么原因,我之前都是这么写的,
for i:=0 to counts-1 do
          begin
           list.Add(ADOQuery1.fieldbyName('DATA_TYPE').AsString+‘=’+ADOQuery1.fieldByName('column_name').AsString);
end;

这里的counts就是我ADOQuery1.RecordCount值
加密后存储,加密方法很多用密钥自定义规则,或者用MD5等等已经有成熟案例的加密方法,至于显示时要不要加密看需求,只加密关键字段,犯不着什么东西都加密,累不累,有没有必要?
重复10次保存到list?没看到你有Next,移动指针了吗?
写了next就可以了,我也是刚学习的,还多东西一时间注意不到
高手,问你一个问题,例如我现在有个list,list中的数据是 ‘001’,‘003’,‘001’,‘005’我要怎么给这个list进行分组
要么查询出数据后放到list再去写分组的算法,要么在数据查询的时候在SQL里做分组(这种方法更方便快捷),再插入list
恩不能写个案例出来,刚刚弄这个delphi,好多地方有点转不过弯来
用 TStringList,它有个参数是 Objects,那你就可以把分组后的内容放在第二层。

比如你有这样的数据:

'001', '000012'
'002', '000063'
'001', '000015'

你想用第一个Field去分组,也就是

'001' 下有一个List内容为 '000012' 和 '000015'
'002' 下有一个List内容为 '000063'

那就这么写:

1.找到001,取出它内部的List,插入'000012'
2.没找到001,新增一个List,插入'000012'和'001'一起插入到分组List

比如分组List叫 GList: TStringList; 
内容List叫 List: TStringList;

则上面代码就是

Str1:='001';
Str2:='000012';
......
Index:=GList.IndexOf(Str1);
if Index>=0 then //找到了
  TStringList(GList.Objects[Index]).Add(Str2)
else //没找到
begin
  List:=TStringList.create;
  List.Add(Str2);
  GList.AddObject(Str1, List);
end;

不知道这样子是不是你所谓分组的意思?
如果不是,拜托你把分组的意思讲明白。
我现在这个东西已经解决,谢谢!
还有个问题,就是list中的数据为list{'001=2','002=3','001=4','003=6'}
等号前面是编号,等号后面是得分,delphi 中TStringList是可以这么写的
我想得到一个新的list的list{'001=6','002=3','003=6'},意思就是如果编号一样的则将得分相加,不相等的直接将这一项存在新的list中
高手们,你们都什么时候出没的,神龙见首不见尾的
没有必要搞list的list,每次做动作之前循环判断一下你的list不就行了,有则相加,没有则插进去
能写个小例子出来吗
编程发送E-mail-Delphi资料 调用那个函数得到本机的IP-Delphi资料 动态改变/添加网络设置中的 TCP/IP 的 DNS 地址-Delphi资料 任何动态改变/添加网络设置中的 TCP/IP 的 DNS 地址-Delphi资料 如何在程序中动态取得Win98的网络邻居中的工作组及计算机名-Delphi资料 动态设置DNS地址-Delphi资料 读取IE收藏夹内网址的信息-Delphi资料 改网络计算机名-Delphi资料 关于WEB应用程序的打印组件开发初探-Delphi资料 基于TELNET协议的DELPHI程序与LINUX主机通信的实现 监视POP3信箱-Delphi资料 开发WEBMAIL程序-Delphi资料 开发响应用户输入的数据库web Server-Delphi资料 利用Delphi编程发送E-mail 利用Delphi编写Socket通信程序 利用Delphi开发网络数据库应用 在许多系统中,出于安全或其它原因,常常要求随时对键盘进行监控,一个专-Delphi资料 链接的视觉效果-Delphi资料 如何从域名名得到IP?-Delphi资料 如何动态改变/添加网络设置中的 TCP/IP 的 DNS 地址-Delphi资料 如何获取CapsLock 、 Insert 等键的状态?-Delphi资料 如何在程序中动态取得Win95/98的网络邻居中的工作组及计算机名?-Delphi资料 提高客户机/服务器应用系统性能的一些方法-Delphi资料 网络和通讯编程-Delphi资料 WebBrowser流程讲解及如何判断下载网页成功-Delphi资料 用Delphi 3.0实现运行于浏览器内的客户 用Delphi编写ASP的ActiveX 用Delphi编写CGI程序(五) 用Delphi编写CGI程序返回图象 用Delphi程序获取拨号连接的动态IP地址 用Delphi创建Internet快捷方式 请问,大连雅奇培训如何?请指点。。。。。。 怎样用header()做下载文件? 关于检测组合键的程序怎样写? 菜鸟问题!!!页面显示后台数据 请问软件包LEDA -- library of the data types and algorithms 哪里有下载的? 如何获得当前页面中的所有Textbox控件集合? 如何对两个表操作???谢谢! java的程序在写Dreamweaver 4里写完不可以直接用,是不是 打印的问题 DELPHI5的资源编辑器用起来很不爽,有没有好点的? 帮帮忙~~~~ 请问软件包LEDA 哪里有下载的?谢谢 ado连接远程数据库是以文件共享方式,还是c/s方式啊? 有没有工作的JAVA程序员吗? 简单的语法问题 vb还是不太会用 求教 最菜的问题 如何保存无法保存的网页? 只要每人献出一点爱,人人都能成为程序员 呵呵,又有问题了 苦恼,大家帮忙啊 关于声音处理的一个问题 求英文资料,急!!! 帮忙解释一下程序,谢谢:) 怎样实现这样的存储过程?高手快来! 用过websnap的进来看一下,巨简单! 调试版本与发布版本的区别? 急等答案, sql的基本表是用一个存储文件表示还是用若干个存储文件表示 我的Windows 2000有时无法关机(重起) ********通过编号找名称!*******求最快的方法!!! 格式化硬盘后安装WIN98过程中为什么出现蓝屏,继续安装下去连软件都安装不了? 请教一个让人郁闷的问题! 寻找一本人民邮电出版社出版的有关 GSM 网络优化的书 请问高手:能不能动态creatLayer? select * ????? 问候大家 晚上好 ,有个问题请教,立即给50分! 怎样使模式对话框最大化显示? 关于socket 十万火急,大哥大姐快救小弟一命!!!考高程的或考过的请帮忙,感激!!! 求救 跟帖 在SERVLET中,页面怎么跳转呢?客户端可以下载指定的ftp文件。。? 一个数据库连接问题??? 挂了双硬盘后,我的光驱不见了,请问怎么办?急!!!!!!!!!!!!!!!! 在SERVLET中,页面怎么跳转呢?客户端可以下载指定的ftp文件。。? 急急急急急! 寻求JB8+Weblogic7的配置! ftp 问题 CFormView有什么优势啊? 请问VB.NET中sln文件是做什么用的??? 你知不知ASP。NET可不可以做出JAVA APPLET 这样的效果?或者VB。NET也可以不? 为什么我的word有时竟然占用了100%的cpu? 急求救!jbuilder6+weblogic6下编译出错。 e t s a 可以组成什么单词 问一道数问题已知代数式x方(a* x的五次方 + b* x的三次方+ cx)/x的四次方+d* x的平方当x=1时,值为1,当x=-1时直是?是-1伐 蚂蚁从10层高的大楼落下为什么安然无恙 黑洞一个小时=地球多少年? 高中政治生活是必修几? 蚂蚁从高处落下为什么不死(简短) w t s e e 能组成什么单词 熬好的中药可以在常温下放多久不坏?(密封状态) 世界上第一个人生得是谁?是谁生的? 黑洞存在了多少年?黑洞是随宇宙诞生一起诞生的吗? 音响led灯我想做一个音响灯,灯是led.问题是用什么电路驱动.要求是这样的,有音频输入,有电源,led会跟着音乐的节奏亮,给个电路图. 条形码 有22个数字的那种是属于哪类条码 a e t s组成什么单词 怎么在音响上连接灯泡让它随着音乐的旋律闪烁?有源音响,但是我想在音响上接一串灯泡让它跟随音乐的旋律闪烁·请问各位大侠该怎么做啊帮帮忙!能不能请各位说的清楚一点啊! 请问这个是什么类型的条码? e、t、a、t、s组成单词 功放机上像电灯泡一样的东西是什么,干什么用的. 炼铁 碳酸钙炼铁时为什么要加碳酸钙?我知道是要和二氧化硅反应,那又是为什么? 世界上有没有无血动物 - 宇宙航行:关于地球同步卫星的说明中不明白的地方……由于同步卫星相对于地面静止,故其必须做匀速圆周运动,而做匀速圆周运动的物体的合外力必总是指向圆心……其中‘而做匀速圆周 有哪些病的病原体是细菌?如题,麻烦多举几个典型的例子. 将一个质量为M,边长为A的正方形均匀木箱放在粗糙水平面上将一个质量为m,边长为a的正方形均匀木箱放在粗糙水平面上,今用力推木箱使其绕一棱翻倒,求推力至少做多少功 答案是(根号2-1)m 日本核危机会污染盐巴吗? 皮肤大面积烧伤的病人,容易被细菌感染,其原因是A非特异性免疫能力降低B由于皮肤真皮内的血管大部分被烧坏,导致酶的活性降低为什么不选B呢? 如图所示质量为m的木箱放在水平面上木箱中的立杆上套着一个质量为m的小球,开始时小球在杆的顶端,由静止释放后,小球沿杆下滑的加速度为重力加速度的二分之一倍,即a等于二分之一g,则小 卡拉ok音响高音会保护如何加灯泡详细步骤或图解我知道在音响里,我是说在分频器上怎么加 4级英语口语何时可以考 质量为M=50kg的木箱放在水平面上,木箱中的立杆上套着一个质量为m=5kg的小球.开始时小球在杆的底端,以16m/s速度向上滑行,滑行的最大高度为8m,则小球在下滑过程中,木箱对地面的压力为多少?希 LED灯条可以直接接上音响吗家里低音炮 可以把LED灯条直接接在喇叭线借口那里吗 我想让灯光跟着音频亮,我是电子白痴 谁知道怎么搞 柏林电视塔有多高. 哲学有什么分类? 怎样记住有氧无氧呼吸公式 我08年6月过的四级,当时561分,现在都09年6月过了,我还能以去年的成绩去考英语口语证么? 运用政治生活说明如何理解当前国际形势的特点 氯化镁溶液是胶体吗?请回答具体些,马上选出最佳答案 有没有五硫化钠? 五颜六色是什么动物 无氧呼吸的公式是怎样的 求高炉炼铁的方程式如题 掏鸟窝 我要四级燕子蛋,送我 要什么鸟蛋交换随挑要四级燕子蛋,加我好友,或留下开心名我加你开心名:罗文菁有5级燕子蛋,4级喜鹊蛋,4级布谷蛋,4级百灵蛋,4级珍珠鸟蛋,4级乌鸦蛋,4级白鸽蛋, 受平衡力的两个力大小相等吗 一个表现正常其双亲也正常但有一白化病弟弟的女人,与一无亲缘关系的正常男人婚配,已知白化病基因携带者在人数中的概率为1/200.现有一表现型正常的女人,其双亲的变现型均正常,但其弟弟 掏鸟窝中怎么加入鸟友会 两力相同指两力的大小、方向、施力物体、受力物体都相同,实质上指的同一个力 这句为什么错? 某女子正常,父母也正常.其弟白化病.某男正常,其母是白化病.如果此男女婚配,生下白化病女的概率为?要有理由. 请问:什么是二维码,具体怎么使用. 掏鸟窝中 什么是处在保护期的鸟蛋?为什么不能掏走? 锚杆长度和数量在设计里有要求吗,计算环向受力怎么样算啊?要重了? 怎么使用二维码?二维码是干什么用的? 关于问问分类我很气愤!分类是为了让想得到答案的人能更便于得到答案,而有些人不管什么分类,就选了,有兴趣的朋友可以去诗词歌赋里看看,没有几个是真正讨论诗词歌赋的!请问你们是怎么 长江的起源在那二 什么是二维码?二维码有哪些新奇应用 那为朋友能帮我买到是高等教育出版社或者是上海外语教育出版社急用! 英语翻译:1.你有养宠物的打算吗? 17岁,一米58正不正常? 大学英语教学大纲通用词汇表 哪里有旧书卖? 当大面积的烧伤护理不当时,易发生感染而引起严重的后果,为什么是由于非特异性免疫能力减弱?人体主要不...当大面积的烧伤护理不当时,易发生感染而引起严重的后果,为什么是由于非特异 s e t w e 都能组成什么单词 急 问一道植物分类题下类植物依次按藻类植物,苔藓植物,蕨类植物,裸子植物,被子植物排列的是( )A 海带,葫芦藓,蕨,银杉,珙桐B 水绵,地钱,胎生狗脊,玉兰,水杉, 大面积烧伤病人,如果护理不当,很容易发生感染,其原因是非特异性免疫功能降低还是特异性免疫功能降低? 日本麦当劳就“禁流浪汉入店”道歉外交部就打击恐怖主义、叙利亚销毁化武世界主要城市11月2日天气预报英内政部报告称非法移民给英国带来沉重外交部:对目前阶段有关销毁叙化武决定律师称斯诺登可在俄境内就德国遭美监听报道称美通过澳驻华使馆监听中国 中方“免费”医疗让俄罗斯进退两难俄按揭购房方式未成功普及 专家称与银旧金山地方检察院举行反家暴妇女维权座澳大利亚赏鲸季来临 民众目睹2600日本学生12万粒杏仁膏立体再现法国印澳夫妇因非法改建房屋供学生住宿被罚3美国50州首富名单出笼 盖茨巴菲特仍墨尔本赛马节下周将开始 预报称天气状联合国首次主动攻击非洲叛军 或抛弃被叙总统要求西方为日内瓦会议停止资助叙新书显示挪威杀人魔在母亲逝世前曾向其旅游局:明年节假日方案仍在研究 将参以色列批准新建1500套定居点住房遭澳大利亚药物管理局警告当地人勿饮壮阳下一篇廉洁风险同步预防“良心”寿司2016美国投资移民政策研讨会暨项目有些痒不能一洗了之用“尚方宝剑”推动形成环境治理新格局购物中心篇邀50名缺牙老人见证无痛种牙全过程下一篇唯品会应公示检测结果强调考勤打卡一定是走下坡路了佛山彩民跑业务刮中20万法官潘惠莉:证据确凿零口供案件照样定孕妈牙周炎增大宝宝早产风险建成小康社会目标A股酝酿牛市周期基因曼城客场不敌埃弗顿初产蛋比普通蛋更有营养?国米,最“抠门”领头羊《卧虎藏龙2》改档2月19日熔断!A股开盘不到半小时收市
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘