ÓÃPLSQL×Ô¶¯Éú³ÉÊý¾Ý¿â±íµÄDelphi¶ÔÏó
DECLARE
TYPE TY_QUECUR IS REF CURSOR;
CUR_COLUMNS TY_QUECUR;
SQLCMD VARCHAR(500);
TABNAME VARCHAR(20);
COLNAME VARCHAR(50);
COLTYPE VARCHAR(20);
COLCOMMENT VARCHAR2(50);
COLLENGTH INTEGER;
COLPRECISION INTEGER;
I INTEGER;
COLLIST VARCHAR(1000);
VCOLLIST VARCHAR(1000);
DelphiDS VARCHAR2(20);
BEGIN
TABNAME:= 'DIC_USER';
DelphiDS:= '__DS';
I:= 0;
COLLIST:= '';
VCOLLIST:= '';
SQLCMD:= 'SELECT A.COLUMN_NAME, A.DATA_TYPE,B.COMMENTS,A.DATA_LENGTH,A.DATA_PRECISION '
||'from USER_TAB_COLUMNS A LEFT JOIN USER_COL_COMMENTS B '
||'ON A.COLUMN_NAME=B.COLUMN_NAME AND A.TABLE_NAME=B.TABLE_NAME WHERE A.TABLE_NAME= '''|| TABNAME || '''';
DBMS_OUTPUT.PUT_LINE('//==============================================================');
DBMS_OUTPUT.PUT_LINE('//Éú³ÉDelphi¶ÔÏó');
DBMS_OUTPUT.PUT_LINE('//==============================================================');
DBMS_OUTPUT.PUT_LINE('unit u'|| INITCAP(TABNAME)||';');
DBMS_OUTPUT.PUT_LINE('interface');
DBMS_OUTPUT.PUT_LINE('uses Windows, Messages, SysUtils, Variants, Classes, DB, DBClient;');
DBMS_OUTPUT.PUT_LINE('Type');
Dbms_Output.PUT_LINE(' TEditMode=(emAppend, emEdit, emDelete);');
DBMS_OUTPUT.PUT_LINE(' T'||TABNAME||'= Class');
DBMS_OUTPUT.PUT_LINE('private');
DBMS_OUTPUT.PUT_LINE(' fCdsDatas: TClientDataSet;');
OPEN CUR_COLUMNS FOR SQLCMD;
FETCH CUR_COLUMNS INTO COLNAME, COLTYPE, COLCOMMENT, COLLENGTH, COLPRECISION;
WHILE CUR_COLUMNS%FOUND LOOP
IF I = 0 THEN
COLLIST:= COLNAME;
ELSE
COLLIST:= COLLIST || ', '|| COLNAME;
 
Ïà¹ØÎĵµ£º
ÈÝÆ÷µÄÖ÷ÒªÖ°ÔðÓÐÁ½¸ö£º´æ·ÅÔªËØºÍä¯ÀÀÔªËØ¡£¸ù¾Ýµ¥Ò»Ö°ÔðÔÔò£¨SRP£©Òª½«¶þÕß·Ö¿ª£¬ÓÚÊǽ«ä¯ÀÀ¹¦ÄÜ´ò°ü·â×°¾ÍÓÐÁ˵ü´úÆ÷¡£
Óõü´úÆ÷·â×°¶Ô¶¯Ì¬Êý×éµÄ±éÀú£º
1.ÈÝÆ÷ÖеÄÔªËØÀà
{¡¶HeadFirstÉè¼ÆÄ£Ê½¡·Ö®µü´úÆ÷ģʽ }
{ ÈÝÆ÷ÖеÄÔªËØÀà ......
ÔÚÖ÷½çÃæµÄimplementation {$R *.dfm} Ï·ÅÈëÒÔÏ´úÂ룺
procedure PatchInt3;
var
NOP: Byte;
NTDLL: THandle;
BytesWritten: DWORD;
Address: Pointer;
begin
if Win32Platform <> VER_PLATFORM_WIN32_NT then
Exit;
NTDLL := GetModuleHandle('NTDLL.DLL');
if NT ......
´ó¼Ò¶¼ÈÏΪ£¬CÓïÑÔÖ®ËùÒÔÇ¿´ó£¬ÒÔ¼°Æä×ÔÓÉÐÔ£¬ºÜ´ó²¿·ÖÌåÏÖÔÚÆäÁé»îµÄÖ¸ÕëÔËÓÃÉÏ¡£Òò´Ë£¬ËµÖ¸ÕëÊÇCÓïÑÔµÄÁé»ê£¬Ò»µã¶¼²»Îª¹ý¡£Í¬Ê±£¬ÕâÖÖ˵·¨Ò²ÈúܶàÈ˲úÉúÎó½â£¬ËƺõÖ»ÓÐCÓïÑÔµÄÖ¸Õë²ÅÄÜËãÖ¸Õë¡£Basic²»Ö§³ÖÖ¸Õ룬Ôڴ˲»ÂÛ¡£Æäʵ£¬PascalÓïÑÔ±¾ÉíÒ²ÊÇÖ§³ÖÖ¸ÕëµÄ¡£´Ó×î³õµÄPascal·¢Õ¹ÖÁ½ñµÄObject Pascal£¬¿ÉÒÔ˵ÔÚÖ¸ÕëÔËÓ ......
Ò»¡¢ÔÚDelphi7ÖÐÁ¬½ÓMS SQL Server 2000µÄ·½·¨¡£
¸Õ¿ªÊ¼Ê±½çÃæÈçÏ£ºÌí¼Ó4¸ö¿Ø¼þ¡£
ÉèÖÿؼþÊôÐÔ¹ý³Ì£º
1¡¢ADOConnection1ÉèÖÃ
1£©Ë«»÷ADOConnection1£¬½øÐÐÉèÖÃÁ¬½Ó×Ö·û´®£¨×÷ÓÃÊÇ£ºÑ¡È¡Á¬½ÓÇý¶¯·½Ê½ºÍÁ¬½ÓµÄÊý¾Ý¿âÉèÖã©¡£¹ý³ÌÈçÏÂͼËùʾ£º
2¡¢ADOQuery1ÉèÖãº
1£©ADOQuery1.connectionÊôÐÔΪADOConnection1; ......
ÓÉÓÚÏîÄ¿ÐèÒª£¬¿ªÊ¼Ñ§Ï°DELPHI£¬²¢×Ô¼º±àд´úÂëÀ´²âÊÔÓÃVCдµÄDLL£¬¾õµÃ×Ô¼ºÓÖ¶àÕÆÎÕÁËһЩ£¬²»¶ÔµÄµØ·½Ï£ÍûÖ¸Õý£¬ÎÒ»áºÃºÃѧϰ
1¡¢ÏìÓ¦¼üÅÌʼþ£º
ÒòΪKeyPreviewĬÈÏÊÇ False;ÎÒÃÇÕâÀïÐèÒªÏìÓ¦¼üÅÌʼþµÄ»°£¬ÐèÒª½«ÆäÐÞ¸ÄΪTrue£»
ËùÒÔKeyPreview:=True; Õâ¶ÔһЩ¿ì½Ý¼ü»áÓÐÓá£
ÔÚFormCreateÕâ¸öº¯ÊýÀïÐÞ¸ÄKeyPrevie ......