| ÂÛ̳ע²á| ¼ÓÈëÊÕ²Ø | ÉèΪÊ×Ò³| RSS
Äúµ±Ç°µÄλÖãºÊ×Ò³ > ¿ª·¢ÓïÑÔ > Delphi

DelphiÖÐʹÓô洢¹ý³Ì½éÉÜ

ʱ¼ä£º2009-02-05 13:23:35  À´Ô´£ºLinuxÁªÃË  ×÷Õߣº
Delphi + MS SQL ServerÊÇĿǰ×îΪÁ÷ÐеĹÜÀíÐÅϢϵͳ¿ª·¢»·¾³ºÍ¹¤¾ß¡£DelphiµÄÇ¿´óÊý¾Ý¿â²Ù×÷¿Ø¼þ¼«´óµØ¼õÇáÁË¿ª·¢ÈËÔ±µÄ¹¤×÷Á¿£¬ÔÚÕâЩ¿Ø¼þÖУ¬×î³£ÓõÄÓÐ TQuery¡¢TTable¡¢TADOQuery¡¢TADOTable¡¢TADODataSeteµÈ£¬ÕâЩ¿Ø¼þÖ´Ðвéѯ²Ù×÷ʱÓÐÒ»¸ö¹²Í¬µÄÌØµã£¬¼´½«ËùÓÐÊý¾Ý¿â¼Ç¼´Ó·þÎñÆ÷È¡»Ø¿Í»§¶Ë£¬ÔÙ¸ù¾Ý²éѯµÄÌõ¼þ½øÐÐɸѡ¡£ºÜÃ÷ÏÔ£¬Èç¹ûÓдóÁ¿µÄÊý¾ÝÔÚ·þÎñÆ÷Óë¿Í»§¶ËÖ®¼ä´«µÝ£¬¾Í»á½µµÍ³ÌÐòÖ´ÐеÄËÙ¶È£¬Ó°ÏìÓ¦ÓóÌÐòµÄÐÔÄÜ¡£Õë¶ÔÕâÖÖÇé¿ö£¬MS   SQL   ServerÊý¾Ý¿âºÍDelphi¿ª·¢¹¤¾ß¶¼ÌṩÁË´æ´¢¹ý³ÌÀ´½â¾öÕâÀàÎÊÌâ¡£´æ´¢¹ý³ÌÊÇÒ»¶ÎÔÚ·þÎñÆ÷ÉÏÖ´ÐеijÌÐò£¬ËüÔÚ·þÎñÆ÷¶Ë¶ÔÊý¾Ý¿â¼Ç¼½øÐд¦Àí£¬Ôٰѽá¹û·µ»Øµ½¿Í»§¶Ë¡£Í¨¹ýʹÓô洢¹ý³Ì£¬Ò»·½Ãæ¿ÉÒÔÀûÓ÷þÎñÆ÷Ç¿´óµÄ¼ÆËãÄÜÁ¦ºÍËÙ¶È£¬ÁíÒ»·½Ãæ±ÜÃâ°Ñ´óÁ¿µÄÊý¾Ý´Ó·þÎñÆ÷ÏÂÔØµ½¿Í»§¶Ë£¬¼õÉÙÍøÂçÉÏ´«ÊäÁ¿£¬·þÎñÆ÷Ö»Ð轫¼ÆËã½á¹û´«¸ø¿Í»§¶Ë£¬ÆäЧÂÊÖ®¸ßÊǷdz£Ã÷ÏԵġ£
¶þ¡¢´´½¨´æ´¢¹ý³Ì
ÔÚMS SQL ServerÉϵĴ洢¹ý³Ì¿É·ÖΪ¶þÀ࣬һÀàÊÇÀàËÆÓÚselect²éѯ£¬ÓÃÓÚ¼ìË÷Êý¾Ý£¬¼ìË÷µ½µÄÊý¾ÝÄܹ»ÒÔÊý¾Ý¼¯µÄÐÎʽ·µ»Ø¸ø¿Í»§¶Ë£¬Èç

CREATE   procedure   proc1
@dw   char(20)
as
select   dwdm   from   cchdwdm   where   dw=@dw

¸Ã´æ´¢¹ý³ÌÓÐÒ»¸öÊäÈë²ÎÊý   @dwdm£¬ÒÔÊý¾Ý¼¯µÄÐÎʽ·µ»Ø½á¹û¡£
ÁíÒ»Àà´æ´¢¹ý³ÌÊÇͨ¹ýÊä³ö²ÎÊý·µ»ØÐÅÏ¢»ò²»·µ»ØÐÅÏ¢£¬»òÖ»Ö´ÐÐÒ»¸ö¶¯×÷¡£È磺

CREATE   procedure   proc2
@m1   smallint,
@m2   smallint
@result   int   OUTPUT
as
select   @result=@m1*@m2

¸Ã´æ´¢¹ý³ÌÓжþ¸öÊäÈë²ÎÊý@m1¡¢@m2£¬»¹ÓÐÒ»¸öÊä³ö²ÎÊý@result¡£  
°´ÕÕ´´½¨´æ´¢¹ý³ÌµÄʱ»úÀ´»®·Ö£¬´´½¨´æ´¢¹ý³ÌÒ²ÓжþÖÖ·½Ê½£¬Ò»ÊÇÀûÓÃMS SQL   ServerµÄEnterprise  ManagerÖеÄSQL Server Query Analyzer¹¤¾ß£¬´Ë·½·¨½Ï¼òµ¥£¬Ö»ÒªÊäÈë´æ´¢¹ý³ÌÓï¾ä²¢±£´æ¼´¿É¡£
´´½¨´æ´¢¹ý³ÌµÄÁíÒ»ÖÖ·½Ê½ÊÇÀûÓÃDelphiµÄ¿Ø¼þ£¬ÈçTQuery¡¢TADOQuery£¬Í¨¹ýʹÓÃSQLÓï¾äÔÚÔËÐÐʱ¶¯Ì¬µØ´´½¨´æ´¢¹ý³Ì¡£ÈçÏÂÀýËùʾ¡£

with query1 do
  begin
    paramcheck := false;
    with SQL do
      begin
        clear;
        add(¡¯create   procedure   proc1¡¯);
        add(¡¯@dw   char(20)¡¯);
        add(¡¯as¡¯);
        add(¡¯select dwdm from cchdwdm where dw=@dw¡¯);
      end
      execsql;
    end;


Èý¡¢´æ´¢¹ý³ÌµÄ²ÎÊý
´æ´¢¹ý³ÌÒ»°ãÓÐËÄÖÖ²ÎÊýÀàÐÍ£º
ÊäÈë²ÎÊý£¬Óɿͻ§³ÌÐòÏò´æ´¢¹ý³Ì´«µÝ
Êä³ö²ÎÊý£¬ÓÉ´æ´¢¹ý³ÌÏò¿Í»§´«µÝ
ÊäÈë/Êä³ö²ÎÊý£¬¿ÉË«Ïò´«µÝ
״̬²ÎÊý£¬ÓÉ´æ´¢¹ý³ÌÏò¿Í»§·µ»Ø´íÎóÐÅÏ¢
ͨ¹ýʹÓÃDelphi¿Ø¼þTADOStoredProc»òTStoredProcÀ´ÉèÖûò»ñÈ¡´æ´¢¹ý³ÌµÄ²ÎÊý£¬È磺

ADOStoredProc1.parameters.parambyname(¡¯@name¡¯).value:=¡¯ÕÅÈý¡¯;

ËÄ¡¢ÔÚDelphiÖÐʹÓô洢¹ý³ÌµÄ·½·¨
ÔÚDelphiÖÐʹÓô洢¹ý³ÌÓÐÒÔϼ¸¸ö²½Ö裺
1¡¢°ÑTADOStoredProc»òTStoredProc·Åµ½´°ÌåÉÏ¡£
2¡¢ÉèÖòÎÊýÁ¬½Óµ½MS   SQL   ServerÊý¾Ý¿â¡£
3¡¢ÉèÖÃProcedureName²ÎÊý£¬Ö¸¶¨´æ´¢¹ý³ÌÃû£¬Ò²¿ÉÒÔÔÚ³ÌÐòÔËÐÐÆÚÉèÖá£
4¡¢µ¥»÷TParameters±ßÉϵÄÊ¡ÂԺŰ´Å¥£¬Èç¹ûÉèÖÃÕýÈ·£¬Ôò¿É¿´µ½ËùÓеÄÊäÈëÊä³ö²ÎÊý¡£
5¡¢ÔÚ´úÂëÖÐÉèÖô洢¹ý³ÌµÄÊäÈë²ÎÊý¡¢Ö´Ðд洢¹ý³Ì²¢»ñÈ¡·µ»ØµÄÊý¾Ý¡£
ͨ¹ýµ÷ÓÃTADOStoredProc¿Ø¼þµÄparambyname·½·¨£¬ÉèÖúÃËùÓеÄÊäÈë²ÎÊý£¬ÔÙµ÷ÓÃopen·½·¨Ö´Ðд洢¹ý³Ì¡£Èç¹û´æ´¢¹ý³Ì·µ»Ø²ÎÊý£¬Í¬ÑùÓÃparambyname·½·¨»ñÈ¡²ÎÊýÖµ£¬Èç¹û·µ»ØÊý¾Ý¼¯£¬ÔòÓ÷ÃÎÊÊý¾Ý¼¯µÄTFieldsµÄ·½·¨»ñÈ¡¸÷¼Ç¼¡£ÈçÒÔÏ´úÂëËùʾ£º


ADOStoredProc1.close;
ADOStoredProc1.parameters.parambyname(¡¯@dwmc¡¯).value:=¡¯Ä³Ä³µ¥Î»¡¯;  
ADOStoredProc1.prepared:=true;
ADOStoredProc1.open;
label1.caption:=   ADOStoredProc1.fields[0].asstring;

À´¶¥Ò»ÏÂ
·µ»ØÊ×Ò³
·µ»ØÊ×Ò³
·¢±íÆÀÂÛ ¹²ÓÐÌõÆÀÂÛ
Óû§Ãû: ÃÜÂë:
ÑéÖ¤Âë: ÄäÃû·¢±í
Ïà¹ØÎÄÕÂ
À¸Ä¿¸üÐÂ
À¸Ä¿ÈÈÃÅ