我怎么样才能制作出将在输入区域内输入的SQL语句中的关键字变成与其它字不同的色,并能够检查当前输入区域内的SQL是否违法?

解决方案 »

  1.   

    1。如果输入框里还有其它str,建议使用开始与结束标识。可以参考richedit一些例子来做。//以前只做过特定str的的变色。
    2。可以借助delphi的query来实现吧。
       try
          Query.SQL.add('your sql string'); 
          Query.open;
       except
          showmessage('error');
          exit; 
       end;
         
      

  2.   

    变色是可以的就是麻烦
    自己做个涵数判断关键字然后。COLOR:=0000;
    检测也可以实现
    同TRY CATCH如果有问题就抛出错误原因1
      

  3.   

    用RichEdit来作,可以的,不过太麻烦!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      

  4.   

    1,研究sql中所有的关键字
    2,具体着手变色……
      

  5.   

    统计出SQL中所有关键字,在写函数进行操作,改变颜色。
      

  6.   

    关于第一点,只需要一个关键字列表进行以空格、分号等为分隔的检测,然后用RichEdit控件来完成字体以及颜色变化
    对于第二点,应该使用Query1.Prepare而不是Query1.Open
      

  7.   

    哎,全是来UP的,就没有一个能解决问题的,如果还是这样下去,我只有将分分给这些人了,这段时间在csdn上的高手们都哪里去了,哎,高手全都走光了!
      

  8.   

    方法有两个。
    1。(1)做一个关键字的索引表。
       (2)一个截取字符串的函数(函数需要过滤掉很大的特殊情况,可以查考一个表达式算出结果的算法)
       (3)合理的控件变色,而RichEdit只能对某一区域的判断,不好。
    2。纯属个人瞎想。
        理由(2)的函数,组成一个SQl语句到数据库去判断,错了,则为关键字。只是想法,多提意见,是否可行。
      

  9.   

    UP  UP              UP          UP
    UPUPUPUPUPUPUPUP          UP  UPUPUPUPUPUPUPUP
          UP                            UP
    UPUPUPUPUPUPUPUP        UP          UP
        UP UP                 UP    UPUPUPUPUP
       UP   UP                          UP
      UP     UP                 UP      UP
     UP       UP              UP        UP
    UP         UP           UP    UPUPUPUPUPUPUPUP