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

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

编辑:说三道四文库 发布时间:2017-01-19 06:53
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不就行了,有则相加,没有则插进去
能写个小例子出来吗
Google 4亿美元收购人工智能初创公司DeepMind 加入初创企业前,自问四个问题 King.com维权 上演“贼喊捉贼” 淘宝:HBase Bulkload bug修复及patch提交 Google的“机器人情结”:两次合计36亿美元的人工智能收购 挑战谷歌、抢占新兴市场,百度进军泰国、巴西和埃及市场 《近匠》第8期:Unity——不再仅仅是游戏引擎 Colours:移动应用的开源“美颜相机” 微信红包活动:用户疯狂中的腾讯“阴谋” 预测2014年最热门的IT职位及年薪 智能手机有隐私?Facebook可阅读Android用户的短信内容 苹果2014年Q1财报:iPhone、iPad 销量创纪录 3D打印:鞋垫也玩私人订制 与Google Glass抗衡,三星将推Galaxy Glass 进军移动?任天堂欲推iOS、Android版超级玛丽 回顾2013:云计算的夏天 微软最终加入OCP阵营,开源其云服务器设计 Docker:集装箱式“运输”在软件上的实现 《近匠》第09期:ShareSDK——专注社交分享工具 苹果车载iOS系统iOS in the Car界面被曝光 支撑过万亿音乐事件的数据分析系统 Facebook运维内幕曝光:一人管理2万台服务器 《近匠》第10期:友盟——开发服务平台化 LinkedIn耗资1.2亿收购数据驱动招聘服务公司Bright 谷歌推视频会议硬件产品Chromebox 基于Chrome OS 文件上传组件导致Apache DoS安全漏洞 EA,你是来拉仇恨的吗? Beep:前Google员工打造的流媒体音乐控制器 有利于开发App的5款天气预测API 七问微软新CEO,你准备好了吗? Hadoop虽然强大,但不是万能的 参天无眼!!我所遇见的招聘题呀,你。。。55555555555 哪位知道象windows优化大师那样的平面按钮控件。 c+vc+vb+java+delphi+>>>>=工作? 怎么得分呀? dos下的Tcp/Ip协议应用 白痴,笨蛋,神经病之差异(转贴) 测试(大家都不许进来,只是测试,注意,只是测试) 请大家说一下哪个代理注册的网站收费比较底,而且服务又比较好的,谢谢! 在asp中如何实现记录集与编辑框、table表等的数据绑定,给个思路也行。着急呀 [-------大虾帮忙啊--------] bcb中缺少的帮助文件能否再添加? 在哪里可以找到关于sybase的资料 哪位仁兄知道如何打包delphi开发的sybase客户程序,最高78分奉送 一个关于OnDraw()的重绘问题,急急急急急急急! 新手的问题! dll调问题???VB调用VC++的DLL需要返回值时,DLL如何定义?VB调用函数如何定义??? 各位大虾 谁能提供视频采集卡的原代码,必须要CB的,300分 在堆(heap)上与在栈(stack)上建立的对象有什么区别? 一个问题,在做元件时怎样建立TdateTimePicker 给大家看看我弟弟给我的信 求助,标题栏为“The police are investigating the robbery-"的是什么程序? 谁能将.CPP文件的代码翻译成DELPHI语言?? 有关于FLASH5.0的问题!!!请各位大吓指点! 一个问题,怎样在PC:PageControl上增加TabSheet1,TabSheet1,TabSheet1…. 标题栏为“The police are investigating the robbery-"的是什么程序? 一个弱弱的问题 一个问题,建立的 FB: TBevel没显示,好象根本没建立一样。 如何在 MDI CLIENT 中添加快捷方式??谢谢!! 55分,如何映射控件中子控件的消息? 如何选择书 关于文献数据库的一个问题-如何把一个字段和一个文件关联起来? 所有喜欢到水园来逛逛,但是从不回帖子或很少回帖子的人进来签到~~~~ 谁来救救我呀,我好惨呀。。。。 如何通过VC编程,随时关闭网络端口 诚寻对嵌入式linux感兴趣的网友 今天临走前,再灌一桶酒! 急!!!哪里可以下载到制作工具栏时用到的位图呀? 太原的在哪能买到程序员杂志 我的qq:10120129 谁找我??? xml 高手帮帮我,为什么我下面的文件,在IE5.0中什么也没有?? 请问高手:在uml类图中如何用关系表示一个实体类和一个接口间的关系。 Cathy进来~~ 请问高手们一个Delphi的一个应该是比较底层的东西。 mimi大酒店正式開業﹗先進來的有分啊﹗ 哪个高手完整地讲讲OpenWith菜单项的调用方法和函数等 关于非模态对话框中使用UpdateData(FALSE)函数的问题,朋友,帮个忙好吗? “记事本”小问题,大逻辑.大虾们,照顾照顾小弟呗. Linux下配置ISDN--期待所有的Linux高手到来?? 我是女生,哈哈 急,怎么样在打印表格时使较长的字段分两行显示,并字体变小。 观察下列数,-1,-1/3,1/4,-1/5,1/6,…….依照这样的规律,第2013个数是_____,如果这一列数无限排列下去,越来越接近_______. 45分等于多少时?大神们帮帮忙 所有自然数相乘等于几? 有一组数:2,-3,2,-3,2,-3,2,-3,...,根据这个规律,那么第2013个数是?初中数学问题 26小时等于多少分钟大神们帮帮忙 所有自然数相乘等于几?3Q所有自然数相乘等于几?(注:这是一个准确的数!不是什么X/N/Y 之类的!) 找规律:1,-1/2,1/3,-1/4,1/5,-1/6,.,猜想第2 010个数是 多少,如果这一列数无限排列下去,与什么 分别等于多少 一个自然数它本身的各个数位上的数字之和与17相乘等于这个数,这个自然数是多少?我希望你们能给我一个解答的过程,应该怎样去说,才是有理有条的.因为那个结果是不难知道 有一列数为:—1,1/2,—1/3,1/4,1/5,1/6,…,找规律得到第2013个数是______. 4个分别等于多少 哪两个自然数相乘等于13? 小学奥数网--------找规律:1/2,7/2,10,20,()(),49,98 7、31、37、82、( )、49 是什么 中国的面积相当于几个韩国?相当于几个英国?相当于几个日本?. 1、2、3、4、5、12、( )、( ) 现在基本知道可能是奇数项分一组,偶数项分一组。前面1、3、5、7…为一组规律, 1.2.4.7.11( )( )( 韩国有中国好吗?大神们帮帮忙 一道小学奥数找规律题1 2 3 7 11 16 () 29 找规律填数的第2题 1、1、2、3、5_、_、_ 中国的一元相当于韩国的几元 4()16.()填啥数儿 找规律填数.求解答! 日本韩国跟中国的关系怎么样? 给出依次排列的一列数,-1,2,-4,8,-16,32,-64..这列数的第2009个数是多少 找规律填数, 韩国和中国现在哪个更发达些谢谢了,大神帮忙啊 依次排列的一列数:-1 ,2,-4,8,-16,32,...按照规律,第n个数为? 找规律,填数字,求解答 10LB多少公斤啊?那就是不到5公斤喽? 给出依次排列的一列数2、4、8、16、32,……,1)按照依次给出的几个数的排列规律,继续写出后面的3个数;2)这个数的第2014项是几?第n项呢? 1,1,2,3,5,8,( ),21,( ),55. 在三角形ABC中,角A,B,C的对边为a,b,c,点(a,b)在直线x(sinA-sinB)+ysinB=csinC上若a^2+b^2=6(a+b)-18,求三角形ABC的面积 给出依次排列的一列数:-1,2,-4,8,-16,32,…①写出32后面的三项数②按照规律,第n个数为 找规律:15,20,12,25,9,30,( ),35,3,( ).怎么做? 一道关于数学三角函数的题,哪位数学好的朋友帮哈忙,谢 证明sin(x+y)-sinx=2cos((2x+y)\2)sin(y\2)有点急,喜欢数学的朋友来帮哈忙哈,对不起,我再查查 有一列数,按一定规律排成1、-2、4、-8、16、-32、……设其中 某三个相邻的数的和是-384,求这三个数各 1,4,9,20,35找规律能讲下为什么吗?有没有简单一点的方法呀? 关于三角函数的数学 有一列数,按一定的规律排列成:-2,4,-8,16,...,其中某三个相邻的数的和为-384,求这三个数各为多少. 找规律 4 2 2 3 6求下一位 有关三角函数的题,求数学大神解答!具体如图:能详细解答吗? 有一列数,按一定规律排列成:-1,2,-4,8,-16,32,-64…,其中有三个相邻的和为1224,这种说法对吗?请说明理由 找规律:1,2,4,4(),8,64 A 16 B 8 C 12 D 6A 16 B 8 C 12 D 6 选一个填空 数学三角函数.算的好难过啊. 有一列数,按一定规律排列成1,-2,4 ,-8,16,-32,64……其中3个相邻数的和是-1536,这三个数是多少? 400斤等于多少升油 关于爱因斯坦的数学游戏,随便做运算可以知道起始数字的那个,请问一下怎么解的大科学家爱因斯坦小时候就特别聪明,有一次同学们在一起玩,他说:“我们做一个数学游戏怎么样?”同学们 有一列数,按一定的规律成1,-2,4,-8,16,-32,64,``````,其中某三个相邻数的和为1536,这三个数各是多少? 2吨400克等于多少克 求爱因斯坦数学题.有一条长阶,若每步跨2阶,则最后剩1阶;若每步跨阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨7阶,则最后正好一阶不剩.答;#include int main(void){int steps = 29,i = 1;while ( steps 有一列数,按一定的规律成-1,2,-4,8,-16,32,-64,``````,其中某三个相邻数的和为1536,这三个数各是多少? 400克等于多少千克? "爱因斯坦的数学游戏"大科学家爱因斯坦小时候就特别聪明,有一次同学们在一起玩,他说:“我们做一个数学游戏怎么样?”同学们说:爱因斯坦说:“你们随便想一个数,然后做一些运算,我就 观察下面一列数,根据规律填空:-1,1/2,-1/3,1/4,-1/5,1/6,···第2012个数是 400千克等于多少吨 解上来你就号称第二爱因斯坦5乘5的方格从1开始依次排列到24.1旁边的X不用写~就还剩下24个格子!两数之间不能不能跳跃!必须是两数紧靠着!也不能倾斜着写. 试题 用计算器探索以下按一定规律排列的一组数:1,根号2,-根号3,2,根号5,-根号6,根号7……,如果从1开始依此连续选取若干个数,使它们的和大于5,那么至少要选( )个数. 2400g等于多少斤 爱因斯坦 数学只有1分.据说德国的大学1分是满分.那到底爱因斯坦的1分是最高分还是最低分?从前,看故事,说爱因斯坦小时候数学不好,考试只有1分,但是努力学习后成为了最伟大的物理学家,当
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn