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

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

编辑:说三道四文库 发布时间:2017-03-31 03:10
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不就行了,有则相加,没有则插进去
能写个小例子出来吗
红帽大战Ubuntu:750小时免费企业版红帽套餐即将登陆AWS EMC Sanjay Mirchandani:92%虚拟化,使更少IT人拥有更大交付能力 从NSA携谷歌、微软等9家名企监控用户行为看数据安全 【专访间】新科兰德创始人左磊:我们的“卖点”是“数据弹药” 甲骨文公司宣布推出最新Java EE 7 10款最佳CSS/jQuery开源图片说明 创业者应避免对投资者说的五句话 直接拿来用!最火的iOS开源项目(二) 西部数据Pat Wilkison:云计算市场是创新热点 猎豹浏览器发布手机版:PM谈开发理念 成为伟大开发者的“九步曲” 使用GPU构建更便宜的Google神经网络 Facebook与Yahoo!的“火花”:系统间实时数据流管理工具 视金钱如粪土?Yahoo!又要买了,梅姐的算盘是这样打的 MySQL手册不再遵循GPL协议:MySQL走向闭源前兆? 扁平化设计会扼杀人们的创造力吗? 又一巨头涉足移动视频分享领域:传雅虎欲收购短视频应用Qwiki 史上最牛:主要靠三消游戏IPO King也许会是第一家 乐视超级电视预约启动 1小时预约近1.4万台 王坚:未来一年阿里云会有很大变化 梁胜:开源并不是做好软件的唯一方式 如何为IE 10编写特定的样式 MySQL手册许可证更改乃是Bug惹得祸 开源世界高峰论坛首批演讲议题公布 测试工程师的心灵鸡汤:谦虚、不沉默、有危机感、不断努力 高德地图API“沿图有你,晒出你的LBS应用”活动拉开帷幕! 谁能找出Windows 8.1的安全漏洞,就将获得微软10万美元奖金! 【直击美国云计算】Facebook分享数据中心新网络架构Fabric 【直击美国云计算】OCP发起产业界的Maker运动 红帽刘长春:开源是推动云计算和大数据发展的重要力量 【直击美国云计算】出货量达x86的20多倍 ARM或将成为数据中心主角 请问:这是叫什么服务来着? 请问有没有有关工作流技术的理论和资料 windowsXP与Visual C++问题??? 发布目录在哪里问题!!!!急急急 请教一个entity bean的问题 调查一下,微软的工程师工资有多少呀?做什么软件的工资最高? idhttp.get可以获得htm 文件,我现在想得到gif文件,怎么办? 不知大家有没有听说过Tapestry,是一个有关权限管理的开发原代码 请问C标准函数里是否有这样的函数,可以删除文件名相同但忽略扩展名的函数,如可以同时删除A1.LIN和A1.SA?谢先!!! 如何修改硬盘序列号(不是卷序列号,而是出厂序列号)? MS EXCHANGE SERVER 2000 在WEB页面更改MAILBOX的密码 关于string的简单问题 String和StringBuffer的具体区别是什么? 请问哪里有<<com原理与应用 >>电子书下载?谢谢 高级问题:如何实现在应用程序中动态布置控件。(分数不是问题) TList问题 请问: 我进不了windows2000 advanced server!!怎么办? 北京程序员俱乐部的相关问题 如何修改硬盘序列号(不是卷序列号,而是出厂序列号)? 请问C标准函数里是否有这样的函数,可以删除文件名相同但忽略扩展名的函数,如可以同时删除A1.LIN和A1.SA?谢先!!! 如何用DAO调用MSSQLSERVER中的存储过程获得结果集? sybase的字符串连接符是哪个 如何取得上网ip?(不是本地IP),在局域网中,客户机通过主机代理上网,能否确定客户是否连在网上? 请问网络高手--怎样知道对方的物理地址(知道对方的IP)??? 图片存在数据库中,在asp页上如何让其显示出来!? 如何把文件或图片以Blob类型存入Oracle数据库,并在JSP中把数据库中的Blob数据以最初的文件格式读出来??? 如何把文件或图片以Blob类型存入Oracle数据库,并在JSP中把数据库中的Blob数据以最初的文件格式读出来??? 请问大伙《TCP/IP详解》1,2,3卷----机械械工业出版社,是否值得购买?翻译的怎么样? CRYSTAL REPORTS DEVELOPER EDITION VERSION 哪里有下? 如何控制excel中的图表? 我想在我彻底陷去之前再清醒的看看这个世界..... 十万火急!!!IIS报HTTP 500的错误。 select时间段问题 请推荐uml方面的好书!! CreateWindow和MFC的CFrameWnd::LoadFrame产生的窗口的区别?? 在pb中用SetPicture(lb_image)当lb_image为空时picture的图片不变 有一段代码破不理解?谢谢! 在pb中用SetPicture(lb_image)当lb_image为空时picture的图片不变 用JAVA开发企业MIS系统,需要注意那些? 怎么在没有资源的项目里加入菜单资源?(急) 有一段代码破不理解?谢谢! 如何动态设置一个字段的类型。例如:下拉型,EDIT型,EDITMAST型。急用!!! 试问DELPHI中的线程是一个什么样的概念? need acdsee for linux 汇编火焰源程序,谁要,请留下Email。。。。 我在98下安装完JRUN3。0后做完的JSP网页应放在哪个目录下。急急急!!! 一个我觉得不可能实现的任务。请大家探讨!!!谢谢 在SQL表中如何得到不带年月日时间信息? 为什么要换页? 再问一个关于Delphi中处理字符串的问题 《keep our city clean》的英语作文 M=4x^2-12xy+10y^2+4y+9 ,当式中的x,y各取何值时,M的值最小?并球此最小值. 1.2平方分米=(?)平方厘米? 设x,x是关于m的方程m2-2am+a+6=0的两根,则(x-1)2+(y-1)2的最小值是 蚂蚁 大自然神秘的力量怎么样 “隐私”和“秘密”的区别在哪? 若(x^m/x^2n)^3/x^m-n与4x^2为同类项,且2m+5n=7,求4m^2-25n^2的值 大自然有许多奥秘,我从蚂蚁身上学到了要坚持不懈. 心思和心事的区别? 如果(x^m/x^2n)^3/x^m-n与4x^2是同类项,且2m+5n=6,求4m^2-25n^2的值 我要写一篇《大自然给我的启示》,讲蚂蚁的可以吗?我写的是,蚂蚁搬米粒的故事,由此知道了团结,但...我要写一篇《大自然给我的启示》,讲蚂蚁的可以吗?我写的是,蚂蚁搬米粒的故事,由此知 甲乙两个同学在解方程组ax+by=7时,甲看错了第一个方程甲乙两个同学在解方程组ax+by=7,2ax-by=-2时,甲看错了第一个方程,解得x=1,y=-1,乙看错了第二个方程,解得x=-2,y=-6,求a,b的值 若(x^m÷x^2n)^3÷x^m-n与4x^2为同类项,且2m+5n=6,求4m^2-2n^2的值呵呵,我是数学白痴、、、、、、、、 甲乙两人解方程组{ax+by=7,2ax-by=-2.甲看错了第一个方程解得{x=1,y=-1.乙看错了第二个方程解得{x=-2,Y=-6求a、b的值 已知直线L过坐标原点,抛物线C的顶点在坐标原点,焦点在X轴的正半轴上,若点 A(-1,0)和点B(已知直线L过坐标原点,抛物线C的顶点在坐标原点,焦点在X轴的正半轴上,若点A(-1,0)和点B(0,8)关 we must try our best to keep environment clean句子成份划分 3分之(-2x的3次方y的m次方z)是6次单项式,那m=?,它的系数是.6分之(x的3次方+4x的平方-3y-2)的常数项是 98减X的差除以102减去X的才差等于27分之25怎么解 I think it's our duty to keep our environment clean and tidy. 大自然还有哪些秘密 6除以x减去4.8,差是7.2,求x 观察蚂蚁搬家的作文400字写的仔细一点 大自然中的秘密 解方程组ax+by=1,2ax+3by=-1.小亮因将第二个方程中未知数y的系数的符号看错,因而解得x=2,y=-1.试求原方程组的解. 观察蚂蚁搬家的800字作文 大自然神秘在哪里?'kkk 如果x1,x2是一元二次方程x^2-6x-2=0的两个实数根,那么x1+x2的值是? 已知实数x、y、z满足x^2-6xy+10y^2+4y+|z^2-3z+2|+4=0 ,求(x+y)^z的值 神秘大自然听说过麦田圈嘛 那有谁知道它的秘密 如果x1、x2是一元二次方程x^2-6x-2=0的两个实数根那么x1\x2的值是 we must keep our city ( )every day.yes,miss gao A.clean B.to clean C.cleaned Dcleaning 大自然怎么神秘 已知圆p:x²+y²–2y-3=0抛物线C以圆心P为焦点以坐标原点为顶点 1,求抛物线c的方程 2已知圆p:x²+y²–2y-3=0抛物线C以圆心P为焦点以坐标原点为顶点1,求抛物线c的方程2,设圆p与抛物线c 已知实数X,Y,Z满足 X²-6XY+10Y²+4Y+∣Z²-3Z+2∣+4=0,求(X+Y)的Z次方的值 为了创建和谐校园,你们班将召开‘make our school clean’为题的班会请根据一下药店用英语写一篇短文1 不随意吐痰,不乱扔垃圾2 不在墙上乱涂乱画3 坚持每天认真打扫室内外卫生要求 80词左右 已知关于XY的方程组 AX+3BY-20C=0 2AX-BY+2C=0的解是X=1 Y=2 求A比B比C的值 1公倾等于多少平方米 若集合A={1,3,x},B={x²,1},且A∪B={1,3,X},则满足条件的实数x是? 已知抛物线的顶点在原点,焦点在圆x+y-2x-3=0的圆心O上1、求抛物线的方程 2、若过抛物线的焦点且倾斜角为45°的直线与抛物线分别交与A、B两点.求|AB| 1平方千米等于多少平方米,1公倾等于多少平方千米 设x=a²b²+5,y=2ab-a²-4a,若x>y,则实数a,b需满足什么条件? 2元1次以知关于x,y的方程组{ax+3by-20c=0,2ax-by+2c=0的解是{x=1,y=2求a:b: 已知抛物线y²=2px﹙p>0﹚的焦点F恰好是椭圆﹙x²/a²﹚+﹙y²/b²﹚=1﹙a>b>0﹚的右焦点,且两条曲线有公共点的连线过F点,则该椭圆的离心率为 已知实数a,b,c满足条件3(a²+b²)=4c(c≠0)求证直线ax+by+c=0与圆x²+y²=1有两个交上面是第一问求证 第二问求两交点的距离 已知关于x、y的方程组{ax-3bc-20c=0 2ax-by+2c=0 的解是{x=1 y=2 ,求a:b:c的值已知关于x、y的方程组{ax-3bc-20c=02ax-by+2c=0 的解是{x=1y=2 ,求a:b:c的值 关于国庆节趣事的作文250字 实数集合A=={1,x,x²-x}中的元素x的满足条件是 已知(4x+y-9)的二次方+x-y-1的绝对值=0则x= y= 国庆趣事作文400字要趣事 已知抛物线的顶点在原点,它的准线过双曲线4x²-4y²/3=1的左焦点,求抛物线的标准方程是 x的2次方减x减1=0,求-4x+4x+9的值 解方程组{3/x+2/y=7,2/x-1/y=14,如果设1/x=m,1/y=n,则原方程组可变形为关于m、n的方程组{3m+2n=17,2m-n=14,解这个方程组得到它的解为{m=5n=-4,由1/x=5,1/y=-4,求得原方程的解为{x=1/5,y=-1/4,利用上述方法解方程 国庆趣事 作文450字这边作文要符合实际,不要出现地名.不要兄弟姐妹(或朋友)的名字 已知双曲线x²/4-y²/5=1.则以双曲线的中心为焦点,以双曲线左焦点为顶点的抛物线方程为? 已知方程组x+y=m+3,x-y=3m-1的解x、y都大于0.(1)求m的取值范围 已知M=4X^2-12XY+10Y^2+4Y+9求M最小值已知M=4X^2-12XY+10Y^2+4Y+9,当X=( ),Y=( )时,M的值最小,且这个最小值为( ) 50平万分米等于几平方厘米 1.5平方米等于几平方分米 2平方米3平方分米等于几平方米等于几平方分50平万分米等于几平方厘米1.5平方米等于几平方分米2平方米3平方分米等于几平方米等于几平 2x-5y=-3 3m-2n=7 5x-2y=-18 3m-n=5 方程组解x= y= m= n= 已知M=4x的平方-12xy+10y的平方+4y+9,当式中的x,y各取何值时,m的值最小?求此最小的值. 关于x、y的方程组{ax+by=4 2ax-3by=-2的解为{x=1/2 y=-1,求a、b的值已知一个角的余角比这个角的3倍大6%,求这个角的度数.解方程组:3x+y+z=6x+3y+z=5x+y+3z=9
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘