  | 
				VFP ·R¥ÎªÌªÀ°Ï ¥»°Q½×°Ï¬° Visual Foxpro ·R¥ÎªÌ¸gÅç¥æ¬yªº¦a¤è, ½Ð¦h¦h§Q¥Î"·j´M"ªº¥\¯à, ¥ý¬d¬Ý¬Ý¦³µL«e¨Ò¥i´`, ¦pªGÁÙ¦³¤£À´ªº¦Aµo°Ý. ³¡¥÷¥DÃD¦³ªþ¥[ÀÉ®×, ¶·¥ýµù¥U¦¨¬°ªÀ°Ï©~¥Á¤~¥i¥H¤U¸ü.   
				 | 
			 
		 
		 
	
		| ¤W¤@½g¥DÃD :: ¤U¤@½g¥DÃD   | 
	 
	
	
		| µoªí¤H | 
		¤º®e | 
	 
	
		Ruey
 
 
  µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
  ²Ä 1 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤G ¤G¤ë 24, 2004 5:13 pm    ¤å³¹¥DÃD: µ£¤ß¥¼ª{ªºVFP+SQL ½sµ{(Âà¶K) | 
				     | 
			 
			
				
  | 
			 
			
				¨Ó·½:±ö¤l µ£¤ß¥¼ª{
 
http://www.meizibbs.3322.org/bbs/dispbbs.asp?boardID=24&ID=6039
 
 
VFP+SQL ½sµ{(1)-°ÊºA³Ð«Ø¼Æ¾Ú·½
 
µªÂФp¥i¤Î¤ä«ù¦oªººô¤Íªº´£°Ý¡C 
 
 
ÁÂÁ¤j®a¹ï§Úªº«H¥ô©M¤ä«ù¡A§Ú¶}©l¾Ç²ßVFP+SQL Server½sµ{¤ñ¸û±ß¡A¤j¬ù¬OVFP6©MSQL Server 7.0 ¥X¨Ó«á¤~¶}©lªº¡C±q¾Ç²ß©M¹ê½î¤¤¨ú±o¤F¤@¨Ç¸gÅç¡C¦pªG¤j®a¦³¿³½ì¡A§Ú¥i¥H§â¤@¨Ç¤ß±o¤¶²Ðµ¹¤j®a¡C
 
§Ú±N§¹¾ã¤¶²ÐVFP+SQL Server C/Sµ²ºc½sµ{.¤£²M·¡ªºªB¤Í¥i¦V¤p¥i¤@¼Ë´£¥X°ÝÃD¡A§Ú¦pªGÀ´ªº¸Ü¡A¥i§@¸Ñµª¡C
 
 
1¡B¼Æ¾Ú·½ªº«Ø¥ß¤è¦¡
 
    ¦]¬°«Ø¥ß¼Æ¾Ú·½¬OVFP+SQL Server½sµ{ªº²Ä¤@¨B¡A©Ò¥Hn¥ýÁ¿¡C
 
    ¤@¯ëªì¦¸±µÄ²®É¡A³£¬O¤â¤u«Ø¥ßODBC¼Æ¾Ú·½¡A¦ý³o¼Ë°µ¦³¤@¨Ç¤£¤è«K¡A¯S§O¬O¤u§@¯¸¼Æ¶q¸û¦h©Î¤u§@¯¸¸û¤À´²¡A¤â¤u¤è¦¡´N¤ñ¸û³Â·Ð¤F¡C§An¨ì¨C¤@¥x¤u§@¯¸¤W¥h«Ø¥ßODBC¼Æ¾Ú·½¡C
 
 
    ¥Îµ{§Ç¦Û°Ê«Ø¥ßODBC¼Æ¾Ú·½ªºÀuÂI¦³¥H¤U´XÂI¡G
 
1¡B¥i¥H¤è«K¦a¥ÎIP¦a§}³X°ÝªA°È¾¹¡A¤£½×¬O¦b§½°ìºô¤ºÁÙ¬O¦b^¯Sºô¤W¡A¥unª¾¹DªA°È¾¹ªºIP¦a§}¡A´N¯à¥¿±`³X°ÝªA°È¾¹¡C(¹ê½îÃÒ©ú¡A³oºØ¤èªk¦bINTERNT¤W¥i¯à¶¶§Q³q¹L¥æ´«¾÷©M¸ô¥Ñ¾¹¡C)
 
 
2¡B¤£¥Î³Â·Ð¦a¦b¨C¥x¤u§@¯¸¥h³]©wODBC¡C
 
 
§Ú±N¦b«á±µ¹¥X¥Îµ{§Ç½Õ¥ÎAPI¨ç¼Æ¥h«Ø¥ßODBC¼Æ¾Ú·½¡C
 
µn¿ýªí³æªº¬É±
 
 
 
½Õ¥Î¤è¦¡¡G
 
§Ú¬O¦bµn¿ýªí³æªº¡u½T©w¡v«ö¶sªºClick¨Æ¥ó¤¤½Õ¥Î³oÓ¨ç¼Æªº 
 
 
* ¥h±¼±±®æ
 
gcDSN=ALLTRIM(thisform.dsn) && §A¿é¤JªºªA°È¾¹IP¦a§}©ÎªA°È¾¹¦W
 
gcUID=ALLTRIM(thisform.uid)  && ¥Î¤áµn¿ý¦W ¦p¡Gsa
 
gcPWD=ALLTRIM(thisform.pwd)  && ¥Î¤á¤f¥O
 
«O¦s¥Î¤áªº¿é¤JªA°È¾¹IP©M¥Î¤á¦W¦a(VFPªí¤¤)
 
*IF NOT USED("cfg")
 
* USE \tmp\cfg.dbf IN 0
 
*ENDIF
 
 
* 
 
SELECT cfg
 
replace cfg.DSN WITH thisform.dsn
 
replace cfg.UID WITH thisform.uid
 
 
 
* ³Ð«Ø¥Î¤á¦W¼Æ¾Ú·½
 
CreateDSN(gcDSN,gcSQLDatabase+"¼Æ¾Ú·½",gcDSN,gcSQLDatabase)
 
 
thisform.handle = SQLSTRINGCONNECT("DSN=&gcDSN;UID=&gcUID;PWD=&gcPWD;DATABASE=&gcSQLDatabase")
 
 
thisform.Release
 
 
 
Åܶq»¡©ú¡G(Åܶq¥þ¬O¥þ§½Åܶq¡AÅܶq¦W²Ä1Ó¦r¥Àªí¥Ü¥þ§½¡A²Ä2Ó¦r¥Àªí¥ÜÅܶqÃþ«¬¡A¦pcªí¥Ü¦r²Å«¬¡Anªí¥Ü¼ÆÈ«¬)
 
gcDSN-------¼Æ¾Ú·½¦W¡A¦pªG§A¿é¤Jªº¬OIP¡A´N¥i¯à¬O³o¼Ë¡v192.168.0.1¡u¡A¦pªG¬OªA°È¾¹¦W¥i¯à¬O³o¼Ë¡vpcsrv¡u
 
 
gcSQLDatabase----SQL Server ªº¨t²Î¼Æ¾Ú "master"©Î§A³Ð«Øªº¼Æ¾Ú®w
 
 
µn¿ýªí³æªº·½µ{§Ç¡G
 
http://vfp.sunyear.com.tw/download.php?id=302
 
 
 
¦bµn¿ýªí³ælogin.scxªºUnload¨Æ¥ó¤¤ªº¤º®e¬°¡G
 
* ¦pªGµn¿ý¥¢±Ñ thisform.handle<=0
 
RETURN thisform.handle 
 
 
ª`·N¡GgnMaster¬O³s±µSQL Serverªº¨t²Î¼Æ¾Ú®wMasterªº³s±µ¥y¬`¡C
 
 
¦b¤J¤f¥Dµ{§Ç¤¤À³¿é¤J¤U¦C»y¥y¡A¥iÁ×§KODBC¹ï¸Ü®Øªº¥X²{¡G
 
SQLSETPROP(0,"DispLogin",3)
 
 
 
µn¿ýªí³æªºInit¨Æ¥ó¤º®e¡G 
 
 
*±qVFPªícfg.dbf¤¤¨ú±o¤W¦¸¿é¤JªºIP¦a§}©M¥Î¤á¦W¡Aµ²ªG¦s¤J¥Î¤á¦Û©w¸qÄݩʤ¤
 
thisform.uid=cfg.uid
 
thisform.dsn=cfg.dsn
 
 
µn¿ýªí³æªºUnLoad¨Æ¥ó¡G 
 
 
* ±Nµn¿ýµ²ªGªð¦^µ¹½Õ¥Îµn¿ýªí³æªº¥Dµ{§Ç main.prg 
 
RETURN thisform.handle
 
 
* thisform.handle>0 µn¿ý¦¨¥\
 
* thisform.handle <0 µn¿ý¥¢±Ñ
 
 
*¦b¥Dµ{§Ç¤¤½Õ¥Îµn¿ýªí³æªº¤èªk 
 
 
* Àˬd±b¸¹
 
************************************************************
 
Do Form gcFormsPath+"login.scx" To gnHandle &&
 
 
If  gnHandle <= 0 &&¤f¥O¤£¥¿½T
 
 Quit
 
Endif
 
************************************************************
 
 
 
 
µ{§Ç³Ð«Ø¼Æ¾Ú·½µ{§Çì½X¡G
 
 	  | ¥N½X: | 	 		  *****************************************************************************
 
* ¨ç¼Æ¦W¡GCreateDSN
 
* ¥\¯à¡G¥ÎAPI¨ç¼Æ¨Ó?#93;¸mODBC¼Æ¾Ú·½
 
* ½Õ¥Î¤è¦¡¡G=CreateDSN(c¼Æ¾Ú·½¦W,c¼Æ¾Ú·½´yz,cSQLªA°È¾¹¦W,cSQL¼Æ¾Ú®w¦W)
 
* ¨Ó·½¡G¡m½Í½ÍVFP©MSQL SERVER·f°t°µC/S¨t²Î¡n
 
* µù¡G³o¸Ì«Ø¥ßªº¬O¥Î¤á¼Æ¾Ú·½ 
 
 
*¤U±ªº¨Ò¤l¬O¥ÎAPI¨ç¼Æ¨Ó?#93;¸m©M§R°£ODBC¼Æ¾Ú·½¡C
 
*¨ç¼Æ¦W¦r¬O SQLConfigDataSource¡A¨ä¤¤²Ä¤G¶µ°Ñ¼Æ¬O¼Æ¦r(1-¼W?#91; 2-×§ï 3-§R°£)
 
Function CreateDSN
 
 Parameters c¼Æ¾Ú·½¦W,c¼Æ¾Ú·½´yz,cSQLªA°È¾¹¦W,cSQL¼Æ¾Ú®w¦W
 
 
 Declare Integer SQLConfigDataSource In odbccp32 Integer, Integer, String, String
 
 
 lnWindowHandle=0
 
 lcODBCDriver='SQL Server' && DRIVERÃþ«¬
 
 *c¼Æ¾Ú·½¦W='ZXJ' && ¼Æ¾Ú·½¦W¦r
 
 *c¼Æ¾Ú·½´yz='¤åÀɺ޲z¼Æ¾Ú·½' && ¼Æ¾Ú·½´yz
 
 *cSQLªA°È¾¹¦W='ZXJ' && SQL SERVER¦W¦r
 
 *cSQL¼Æ¾Ú®w¦W='¤åÀɺ޲z' && n³s±µªº¼Æ¾Ú®w¦W¦r
 
 
 **¥ý¸Õ¹Ï×§ï¤w¦³ªºODBC¡A¦pªG¤£¦s¦b¡Aªð¦^0¡C
 
 lreturn=SQLConfigDataSource(lnWindowHandle, 2, lcODBCDriver, ;
 
  'DSN=' + c¼Æ¾Ú·½¦W + Chr(0) ;
 
  + 'Description=' + c¼Æ¾Ú·½´yz + Chr(0) ;
 
  + 'Server=' + cSQLªA°È¾¹¦W + Chr(0) ;
 
  + 'Database=' + cSQL¼Æ¾Ú®w¦W + Chr(0))
 
 If lreturn=0 &&¤£¦s¦b
 
 
  **²K?#91;·sªºODBC
 
  lreturn=SQLConfigDataSource(lnWindowHandle, 1, lcODBCDriver, ;
 
   'DSN=' + c¼Æ¾Ú·½¦W + Chr(0) ;
 
   + 'Description=' + c¼Æ¾Ú·½´yz + Chr(0) ;
 
   + 'Server=' + cSQLªA°È¾¹¦W + Chr(0) ;
 
   + 'Database=' + cSQL¼Æ¾Ú®w¦W + Chr(0))
 
  If lreturn=0 &&¥¢±Ñ
 
   Messagebox('²K?#91;ODBC¼Æ¾Ú·½¥¢±Ñ',0+16+0,'BUFFER')
 
  Endif
 
 Endif
 
 Return
 
 
 *****************************************************************************
 
Function DelDSN
 
 Parameters c¼Æ¾Ú·½¦W,c¼Æ¾Ú·½´yz,cSQLªA°È¾¹¦W,cSQL¼Æ¾Ú®w¦W
 
 
 * ¥\¯à¡G¥ÎAPI¨ç¼Æ¨Ó§R°£ODBC¼Æ¾Ú·½
 
 * ½Õ¥Î¤è¦¡¡G=§R°£¼Æ¾Ú·½(c¼Æ¾Ú·½¦W,c¼Æ¾Ú·½´yz,cSQLªA°È¾¹¦W,cSQL¼Æ¾Ú®w¦W)
 
 * ¨Ó·½¡G¡m½Í½ÍVFP©MSQL SERVER·f°t°µC/S¨t²Î¡n
 
 * µù¡G³o¸Ì«Ø¥ßªº¬O¥Î¤á¼Æ¾Ú·½
 
 
 **¥Î§¹«á¡A¥i¥H¦bªí³æDESTROY¨Æ¥ó¸Ì§R°£ODBC¡C ¦pªG¤£·Q«½Æ?#93;¸m°Ñ¼Æ¡A¥i¥H§â³o¨Ç°Ñ¼Æ?#91;¨ìªí³æ§@¬°ÄݩʡC
 
 
 Declare Integer SQLConfigDataSource In odbccp32 Integer, Integer, String, String
 
 
 lnWindowHandle=0
 
 lcODBCDriver='SQL Server'
 
 *c¼Æ¾Ú·½¦W='SharedData'
 
 *c¼Æ¾Ú·½´yz='Shared Data Source'
 
 *cSQLªA°È¾¹¦W='DEVSQL'
 
 *cSQL¼Æ¾Ú®w¦W='Shared'
 
 
 **¥ý×§ï¡A©ÎªÌ¨ä¬O§_¦s¦b
 
 lreturn=SQLConfigDataSource(lnWindowHandle, ;
 
  2, lcODBCDriver, ;
 
  'DSN=' + c¼Æ¾Ú·½¦W + Chr(0) ;
 
  + 'Description=' + c¼Æ¾Ú·½´yz + Chr(0) ;
 
  + 'Server=' + cSQLªA°È¾¹¦W + Chr(0) ;
 
  + 'Database=' + cSQL¼Æ¾Ú®w¦W + Chr(0))
 
 If lreturn=1 &&ODBC¦s¦b¡A§R°£¥¦
 
  lreturn=SQLConfigDataSource(lnWindowHandle, ;
 
   3, lcODBCDriver, ;
 
   'DSN=' + c¼Æ¾Ú·½¦W + Chr(0) ;
 
   + 'Description=' + c¼Æ¾Ú·½´yz + Chr(0) ;
 
   + 'Server=' + cSQLªA°È¾¹¦W + Chr(0) ;
 
   + 'Database=' + cSQL¼Æ¾Ú®w¦W + Chr(0))
 
  If lreturn=0
 
   Messagebox('§R°£ODBC·½¥¢±Ñ',0+16+0,'Buffer')
 
 
  Endif'
 
 Endif
 
 
 **²M°£DLL
 
 Clear Dlls
 
 * End | 	 
  _________________ #############################
 
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~ì¨Ó©¯ºÖ¨º»ò²³æ!!
 
 
¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
 
#############################
  Ruey ¦b ¬P´Á¥| ¤G¤ë 26, 2004 3:10 pm §@¤F²Ä 3 ¦¸×§ï | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		Ruey
 
 
  µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
  ²Ä 2 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤G ¤G¤ë 24, 2004 5:19 pm    ¤å³¹¥DÃD:  | 
				     | 
			 
			
				
  | 
			 
			
				VFP+SQL ½sµ{(2)-°ÊºA³Ð«Ø»·µ{µø¹Ï
 
¥ý¬Ý·½µ{§Ç
 
 	  | ¥N½X: | 	 		  LPARAMETERS cSQLDatabaseName,cConnectionName,cSQLTableName,cViewName,cKey,cCondition,cOrder
 
*cSQLDatabaseName «áºÝ¼Æ¾Ú®w¦W
 
* cConnectionName  ³s±µ¦W
 
* cSQLTableName        «áºÝªí¦W
 
* cViewName  µø¹Ï¦W 
 
* cKey  ¥DÁä
 
* cCondition µø¹Ï±ø¥ó  
 
* cOrder ±Æ§Ç 
 
 
*LOCAL nConnectHandle &&¼Æ¾Ú®w³s±µ¥y¬`
 
 
LOCAL cFieldName &&¦r¬q¦W
 
 
***********************************************************************
 
* ¨ç¼Æ¦W¡GCreateView
 
* §@¥Î¡G* ³Ð«Ø»·µ{µø¹Ï¨ç¼Æ
 
* °Ñ¼Æ»¡©ú¡G
 
*   cOrder---±Æ§Ç¤è¦¡
 
*   nHandle---«ü©wªº¼Æ¾Ú®wªº³s±µ¥y¬`
 
*  cSQLDatabaseName---SQL Server¼Æ¾Ú®w¦W
 
*   cConnName---³s±µ¦W
 
*   cSQLTableName---SQL Serverªí¦W
 
*   cViewName---n³Ð«Øªº»·µ{µø¹Ï¦W
 
*   cKey---¥DÁä
 
*   cCondition---±ø¥ó
 
* ½Õ¥Î®æ¦¡:
 
* =CreateView('¼Æ¾Ú®w¦W','³s±µ¦W','«áºÝªí¦W','µø¹Ï¦W','¥DÁä¦W','±ø¥ó','±Æ§Ç')
 
 
* ²Ä¤@¨B¡B³Ð«Øµø¹Ï
 
 
* ¦pªG¬O±a±ø¥óªºµø¹Ï
 
 
IF NOT EMPTY(cCondition)    
 
 
 CREATE SQL VIEW &cViewName ;
 
  CONNECTION &cConnectionName SHARE ;
 
  AS SELECT * FROM &cSQLTableName WHERE &cCondition ;
 
  ORDER BY &cOrder
 
 
ELSE       && ¦pªG¬O¤£±a±ø¥óªºµø¹Ï
 
 
 CREATE SQL VIEW &cViewName ;
 
  CONNECTION &cConnectionName SHARE ;
 
  AS SELECT * FROM &cSQLTableName ;
 
  ORDER BY &cOrder
 
 
ENDIF
 
 
 
 
* ²Ä¤G¨B¡B³]¸mµø¹Ï¥i§ó·s
 
* 1).Tables ÄÝ©Ê
 
DBSETPROP('&cViewName','View','Tables','&cSQLTableName')
 
 
 
* 2).KeyField ÄÝ©Ê(±N¦r¬q"cKey"³]©w¦¨ÃöÁä¦rÄæ)
 
DBSETPROP('&cViewName..&cKey','Field','KeyField',.T.)
 
 
* 3.UpdateName ÄÝ©Ê
 
DBSETPROP('&cViewName..&cKey','Field','UpdateName','&cSQLTableName..&cKey')
 
 
* 4)Updatable ÄÝ©Ê(«ü©w¥i§ó·sªº¦r¬q)
 
 
* ¨ú±oSQL Serverªí¡ucSQLTableName¡vµ²ºc¡A¦s©ñ¦bªí¡uªíµ²ºc¡v¤¤
 
*nConnectHandle=SQLSTRINGCONNECT('DSN=&gcDSN;UID=&gcUID;PWD=&gcPWD;DATABASE=&cSQLDatabaseName')
 
 
* °Ñ¨£¡mVisual FoxPro 6.X ¤¤¤åª©µ{§Ç³]p¡np.431
 
* 11.12 ¨ú±o«áºÝ¦r¬qªº¬ÛÃö«H®§
 
cCursorName='C'+SYS(3)
 
N=SQLCOLUMNS(gnHandle,"&cSQLTableName","FOXPRO","&cCursorName")
 
*  n=SQLCOLUMNS(nConnectHandle,"¤åÀÉ","FOXPRO","°òªíµ²ºc")
 
* n=0 SQLCOLUMNSÁÙ¦b°õ¦æ¤¤
 
* n=1 SQLCOLUMNS°õ¦æ¦¨¥\
 
* n=-1 µo¥Í³s±µ¼h¦¸¤Wªº¿ù»~
 
* n=-2 µo¥Í¨t²ÎÀô¹Ò¤Wªº¿ù»~
 
 
 
SELECT(cCursorName)
 
SCAN
 
 cFieldName=ALLTRIM(&cCursorName..Field_name)
 
 DBSETPROP('&cViewName..&cFieldName','Field','Updatable',.T.)   && ¥i§ó·s
 
 
 DO CASE
 
 
  CASE  Field_type='C' && ¦pªG¬OChar«¬¦r¬q,Àq»{ȬO''
 
   DBSETPROP('&cViewName..&cFieldName','Field','Defaultvalue',' ') && Àq»{È
 
 
  CASE  &cCursorName..Field_type='N' && ¦pªG¬ONumber«¬¦r¬q,Àq»{ȬO0
 
   DBSETPROP('&cViewName..&cFieldName','Field','Defaultvalue','0') && Àq»{È
 
 
  CASE  Field_type='T' && ¦pªG¬Osmalldatetime«¬¦r¬q,§ïÅܵø¹Ï¦r¬qÃþ«¬¦¨¤é´Á«¬
 
   IF NOT cFieldName='§ó·s®É¶¡'
 
    DBSETPROP('&cViewName..&cFieldName','Field','DataType','d')
 
   ENDIF
 
  CASE  Field_type='I' && ¦pªG¬Oint«¬¦r¬q,
 
   DBSETPROP('&cViewName..&cFieldName','Field','DataType','n(10,0)')
 
 
  CASE  Field_type='L' && ¦pªG¬Obit«¬¦r¬q,§ïÅܵø¹Ï¦r¬qÃþ«¬¬°Å޿諬
 
   DBSETPROP('&cViewName..&cFieldName','Field','DataType','l')
 
   DBSETPROP('&cViewName..&cFieldName','Field','Defaultvalue','.F.') && Àq»{È
 
 
  CASE  Field_type='M' AND ALLTRIM(cFieldName)='TIMESTAMP'&&
 
 ENDCASE
 
ENDSCAN
 
USE IN (cCursorName)
 
 
* 5)¥´¶} SQL §ó·s¶}Ãö
 
DBSETPROP('&cViewName','View','SendUpdates',.T.)
 
 
* 6) ³]©w§ó·s½Ä¬ðªº¸Ñ¨M¤è¦¡(¥DÁä©M¤w×§ï¦r¬q)
 
DBSETPROP('&cViewName','View','WhereType',2)
 
DBSETPROP("&cViewName","View","ShareConnection",.T.) &&±Nµø¹Ï³]¸m¦¨¦@¨É³s±µ
 
 
* 7) §ó·sÃþ«¬,¥ý§R°£,«á´¡¤J
 
* DBSETPROP('&cViewName','View','UpdateType',2)
 
 
* Endfunc
 
*********************************************************************************** | 	  
 
 
½Õ¥Î¤§«eÀ³¥ý³Ð«Ø¤@Ó¥»¦a¼Æ¾Ú®w©M³s±µ¡G 
 
 
* ³Ð«Ø³s±µ
 
 	  | ¥N½X: | 	 		  ****************************************************
 
Create Connection ¸ê®Æ³s±µ ;
 
 DATASOURCE '&gcDSN' ;
 
 USERID '&gcUID' ;
 
 PASSWORD '&gcPWD' ;
 
 DATABASE &gcSQLDatabase
 
****************************************************
 
¨ä¤¤¡GgcDSN¬O¼Æ¾Ú·½¦WºÙ
 
¡@¡@¡@gcUID¡@¬O¥Î¤áµn¿ý¦W
 
         gcPWD ¬O¥Î¤á¤f¥O
 
         gcSQLDatabase ¬O«áºÝSQL¼Æ¾Ú®w(§A¦Û¤v³Ð«Øªº) | 	  
 
 
 
 
¨Ò¦p¡G
 
* ³Ð«Øµø¹Ï "VIEW_µø¹ÏÄÝ©Ê" ¥Î¥H«O¦s©M³]¸m¨t²Î©Ò¥Îµø¹ÏªºÄÝ©Ê
 
 createview(gcSQLDatabase,'¸ê®Æ³s±µ','µø¹ÏÄÝ©Ê','view_µø¹ÏÄÝ©Ê','ID',"",'µø¹ÏÄÝ©Ê.ID')
 
 *          «áºÝ¼Æ¾Ú®w¦W   ³s±µ¦W  «áºÝªí¦W   µø¹Ï¦W        ¥DÁä ±ø¥ó       ±Æ§Ç _________________ #############################
 
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~ì¨Ó©¯ºÖ¨º»ò²³æ!!
 
 
¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
 
############################# | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		Ruey
 
 
  µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
  ²Ä 3 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤G ¤G¤ë 24, 2004 5:22 pm    ¤å³¹¥DÃD:  | 
				     | 
			 
			
				
  | 
			 
			
				VFP+SQL ½sµ{(3)-¥ÎVFP³Ð«ØSQL¼Æ¾Ú®w
 
 
 
 	  | ¥N½X: | 	 		  **********************************************
 
* Copyright (c) 2003,
 
* All rights reserved.
 
*
 
* ¤å¥ó¦WºÙ¡GCreateSQLDB
 
* ¤å¥ó¼ÐÃÑ¡G
 
* ºK    n¡G³Ð«Ø«áºÝSQL Server ¥Î¤á¼Æ¾Ú®w
 
*
 
* ·í«eª©¥»¡G1.0
 
* §¹¦¨¤é´Á¡G2003.03
 
**********************************************
 
SET TALK OFF
 
*SET STEP ON 
 
gcDSN='PCSRV'
 
gcUID='sa'
 
gcPWD='111'
 
gcSQLDatabase='¸ê®ÆºÞ²z'
 
* ?#93;©w¤£Åã¥Ü¥XODBCµn¿ý¹ï¸Ü®Ø 
 
 
=SQLSETPROP(0,"DispLogin",3)
 
 
gnMaster =SQLSTRINGCONNECT("DSN=&gcDSN;UID=&gcUID;PWD=&gcPWD;DATABASE=master")
 
 
 
WAIT CLEAR
 
WAIT WINDOWS "¥¿¦b³Ð«Ø¼Æ¾Ú®w¡u" + gcSQLDatabase + "¡v¡A½ÐµyÔ..." NOWAIT NOCLEAR
 
 
llCreateResult=.F.  && ³Ð«Ø¼Æ¾Ú®wgcSQLDatabaseµ²ªG
 
llDelResult=.T.  && §R°£¼Æ¾Ú®wgcSQLDatabaseµ²ªG
 
 
 
* ?#125;©l¤¬°Ê¥æ©ö
 
=SQLSetProp(gnMaster,'Transactions',2)
 
 
* §PÂ_¥Î¤á¼Æ¾Ú®w¡ugcSQLDatabase¡v¼Æ¾Ú®w¦s¦b§_A¦pªG¦s¦b¡AgnHandle>0
 
gnHandle =SQLSTRINGCONNECT("DSN=&gcDSN;UID=&gcUID;PWD=&gcPWD;DATABASE=&gcSQLDatabase")
 
 
IF gnHandle> 0 &&ªí©ú"gcSQLDatabase"¼Æ¾Ú®w¤w¸g¦s¦b
 
 
 =SQLDISCONNECT(gnHandle) &&¤ÁÂ_»P¼Æ¾Ú®w¡ugcSQLDatabase¡vªºÁpô¡A§_«h¤£¯à§R°£¡C
 
 
 WAIT CLEAR
 
 
 WAIT WINDOWS "¡u" + gcSQLDatabase+"¡v¼Æ¾Ú®w¤w¸g¦s¦b¡A¥¿¦b§R°£..." NOWAIT NOCLEAR
 
 
 
 IF SQLEXEC(gnMaster,"DROP DATABASE &gcSQLDatabase") > 0 &&§R°£
 
 
  WAIT CLEAR
 
  WAIT WINDOWS "§R°£¡u" + gcSQLDatabase +"¡v®w¦¨¥\!" NOWAIT NOCLEAR
 
  llDelResult=.T.
 
  WAIT CLEAR
 
  WAIT WINDOWS "Ä~Äò³Ð«Ø¼Æ¾Ú®w¡u" + gcSQLDatabase +"¡v..." NOWAIT NOCLEAR
 
 
 ELSE
 
  WAIT CLEAR
 
  WAIT WINDOWS "§R°£¡u" + gcSQLDatabase +"¡v®w¥¢±Ñ!" NOWAIT NOCLEAR
 
  llDelResult=.F.
 
 ENDIF
 
ENDIF
 
 
IF llDelResult=.T.
 
 
 
 IF SQLEXEC(gnMaster,"CREATE DATABASE &gcSQLDatabase") > 0 && ¹Á¸Õ¹ê»Ú§ó·s,¨Ã¥B¥H«á¼g¤J¬°·Ç
 
 
  * µ²§ô¤¬°Ê¥æ©ö
 
  SQLCOMMIT(gnMaster)
 
  WAIT CLEAR
 
  llCreateResult=.T. && ³Ð«Ø¦¨¥\¼Ð»x
 
  ??CHR(7)
 
  MESSAGEBOX("³Ð«Ø¡u"+ gcSQLDatabase + "¡v®w¦¨¥\¡I«ö¥ô·NÁä°h¥X",0,"³Ð«Ø¼Æ¾Ú®w")  
 
 ELSE
 
  * ¿ù»~³B²z
 
  AERROR(la¿ù»~)
 
 
  * ¦V«á«ì´_
 
  SQLROLLBACK(gnMaster)
 
  WAIT CLEAR
 
  ??CHR(7)
 
  MESSAGEBOX("³Ð«Ø¡u"+ gcSQLDatabase + "¡v®w¥¢±Ñ¡I«ö¥ô·NÁä°h¥X",0,"³Ð«Ø¼Æ¾Ú®w")    
 
  llCreateResult=.F. && ³Ð«Ø¦¨¥\¼Ð»x
 
 ENDIF
 
 WAIT CLEAR
 
ENDIF
 
 
RETURN llCreateResult | 	  
 
 
 
 
»¡©ú¡G
 
1¡B¥ýn»Pmaster¼Æ¾Ú®w«Ø¥ß³s±µ
 
gnMaster =SQLSTRINGCONNECT("DSN=&gcDSN;UID=&gcUID;PWD=&gcPWD;DATABASE=master") 
 
 
2¡BµM«á³Ð«Ø¼Æ¾Ú®w
 
SQLEXEC(gnMaster,"CREATE DATABASE &gcSQLDatabase") _________________ #############################
 
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~ì¨Ó©¯ºÖ¨º»ò²³æ!!
 
 
¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
 
#############################
   Ruey ¦b ¬P´Á¤G ¤G¤ë 24, 2004 5:25 pm §@¤F²Ä 1 ¦¸×§ï | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		Ruey
 
 
  µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
  ²Ä 4 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤G ¤G¤ë 24, 2004 5:24 pm    ¤å³¹¥DÃD:  | 
				     | 
			 
			
				
  | 
			 
			
				VFP+SQL ½sµ{(4)-¥ÎVFP³Ð«ØSQLªí
 
 
 	  | ¥N½X: | 	 		  **********************************************
 
* Copyright (c) 2003,¦¨³£¾å¶i³n¥ó¤u§@«Ç
 
* All rights reserved.
 
*
 
* ¤å¥ó¦WºÙ¡GCreateSQLTable
 
* ¤å¥ó¼ÐÃÑ¡G
 
* ºK    n¡G³Ð«Ø«áºÝSQL Server ¥Î¤á¼Æ¾Úªí
 
*
 
* ·í«eª©¥»¡G1.0
 
* §¹¦¨¤é´Á¡G2003.03
 
********************************************** 
 
 
 
gcDSN='192.168.0.80'
 
gcUID='sa'
 
gcPWD=''
 
gcSQLDatabase='¸ê®ÆºÞ²z'
 
 
=SQLSETPROP(0,"DispLogin",3)
 
 
 
gnHandle =SQLSTRINGCONNECT("DSN=&gcDSN;UID=&gcUID;PWD=&gcPWD;DATABASE=&gcSQLDatabase")
 
 
IF NOT USED("cfg")
 
 USE c:\¸ê®ÆºÞ²z\tmp\cfg.dbf
 
ENDIF
 
SELECT cfg
 
 
IF cfg.codetable=.t. && ¥N½Xªí
 
 
 SQLEXEC(gnHandle,"CREATE TABLE ¥N½Xªí (ID int not null IDENTITY (1,1) PRIMARY KEY)")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¥N½Xªí ADD Ãþ«¬ char (10)  null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¥N½Xªí ADD ¥N½X char (20) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¥N½Xªí ADD ¦WºÙ char (40) null")
 
 
ENDIF
 
 
IF cfg.colldata=.T. && ¸ê®Æ¦¬¶°
 
 
 SQLEXEC(gnHandle,"CREATE TABLE ¸ê®Æ¦¬¶° (ID int not null IDENTITY (1,1) PRIMARY KEY)")
 
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ±µ¦¬¤é´Á datetime null") && Àq»{È¡G¨t²Î¤é´Á
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD §Ç¸¹ Int null")   && ¦Û°Ê
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ±µ¦¬¤H char (8) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD °e¥æ¤H char (8)  null")
 
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤å¥ó¸¹ char (30) null") && 쬰¡u¤å¥ó½s¸¹¡v
 
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¼Ð·Ç¥N¸¹ char (30) null")     && ·s¼W
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¼Ð·Ç¦WºÙ varchar (200) null") && ·s¼W
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ͦW varchar (200) null")     && ·s¼W
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¹ê¬I¤é´Á smalldate null")     && ·s¼W ¼Ð·Çªº¡u¹ê¬I¤é´Á¡v
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ½s»s³æ¦ì varchar (60) null")  && ·s¼W
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤å¥ó½s»s varchar (100) null")      && ·s¼W
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤åºØ char (10) null")        && ·s¼W
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¾÷ºc¥N¸¹ varchar (30) null")  && ·s¼W
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¼Ð·Ç¦~¥÷ int null")     && ·s¼W
 
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤º³¡½s¸¹ char (30) null") && ·s¼W
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤å¥ó½s½X char (30) null")   && ·s¼W
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤å¥ó¦W char (200) null")    && ·s¼W
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤å¥óª¬ºA char (6) null")   && ·s¼W
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¸üÅé char (6) null")    && ·s¼W
 
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤uµ{¥N¸¹ char (30) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤uµ{¦WºÙ varchar (80) null") &&
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ì¤å¸¹ text null")  &&
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD Á`±b¸¹ Int null")
 
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ³]p¶¥¬q char (20) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ª©¦¸ char (2) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ÃD¥Ø varchar (200) null") &&
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ÃöÁäµü char (30) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ±K¯Å char (4) null")
 
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ÂkÀÉ¥÷¼Æ Int null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¶¼Æ Int null") && 쬰¨C¥U¶¼Æ
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ©³¹Ï±i¼Æ Int null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD «OºÞ´Á char (4) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ³d¥ôªÌ varchar (80) null")
 
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD §Î¦¨®É¶¡ char (22) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤J®w®É¶¡ smalldatetime null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤â½Z Int null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD Àò¼úµ¥¯Å char (4) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ³Æµù text null")  &&쬰 char(60)
 
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¸ê®Æ®w§O char (10) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¹q¤l¤å¥ó¦W char (20) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¥þ®§ÂsÄý¯Å§O char (8) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ®Õ¹ï char (20) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¼f¬d char (14) null")
 
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¼f©w char (14) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ÂkÀɳæ¦ì varchar (100) null") &&
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ×§ï char (1) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ɾ\¼ÐÃÑ char (20) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤å¥ó³Ñ¾l¥÷¼Æ Smallint (2) null")
 
 
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ÂkÀɼлx int null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ÂkÀɥӽФH char (8) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ÂkÀɥӽЮɶ¡ smalldatetime null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ÂkÀɱµ¦¬¤H char (8) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ÂkÀɱµ¦¬®É¶¡ smalldatetime null")
 
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤J®w¼Ð»x char (1) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤J®w¥Ó½Ð¤H char (8) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤J®w¥Ó½Ð®É¶¡ smalldatetime null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤J®w±µ¦¬¤H char (8) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤J®w±µ¦¬®É¶¡ smalldatetime null")
 
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ±M·~¨t²Î char (44) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ©³¹Ï±i¼Æ Int null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¤À¥U¼Æ Int null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD §åã¤H char (8) null")
 
 
 * ¼W¥[ªº¦r¬q 
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ¸ê®ÆÃþ«¬ char (20) null")
 
 SQLEXEC(gnHandle,"ALTER TABLE ¸ê®Æ¦¬¶° ADD ®É¶¡ÂW timestamp)")
 
 
 
ENDIF | 	  
 
 
 
»¡©ú¡G
 
1¡B¬°¤°»òn¥Î¦h±ø«Ø¥ß¤@Óªí©O¡H
 
³o¬O¦]¬°³Ð«Ø«áºÝSQLªºªíªº©R¥O¬O¥]§t¦bSQLEXEC()¨ç¼Æ¤¤ªº¡A¦pªG§An«Ø¥ßªºªíªº¦r¬q¼Æ¦h¡A§Aªº©R¥Oªø«×«Ü®e©ö¶W¹L255Ó¦r²Åªº¨î¡A¥t¥~¡Aµ{§Ç¥iŪ¤]«Ü®t¡C 
 
 
2¡B¬°¤°»òn«Ø¥ßID¦r¬q©O¡H
 
³o¬O¦]¬°ID¦r¬q¬O¤@Ó¯S®í¾ã«¬¦r¬q¡A¥¦§@¬°ÃöÁä¦r¡A¥Î¨Ó¸Ñ¨M§ó·s½Ä¬ðªº¡C¥¦ªºÈ¦Û°Ê¼W1¡A«K¤£·|«½Æ¡A¨Ò¦p¡A¬Y¦æªºID¡×100¡A¦pªG§R°£³o¦æ¡A«K¥Ã»·¤£·|¥X²{ID¡×100ªºÈ¤F¡C
 
 
3¡B¬°¤°»òn«Ø¥ß¡u®É¶¡ÂW¡v¡@Ãþ«¬¬O timestampªº¦r¬q¡A¦P¼Ë¤]¬O¥Î¨Ó¸Ñ¨M¼Æ¾Ú§ó·sªº¡A·í¤@Óªíªº¦r¬q¸û¦h®É¡A¦pªG¼W¥[³oÓ¦r¬q¡A§ó·s³t«×¸û§Ö¡A¦]¬°SQL Server ¥u¬Ý³oÓ¦r¬qªº¤º®eÅܨS¦³¡A¦pªGÅܤF¡A»¡©ú§A§ó§ï¤F¼Æ¾Ú¡C¤Ï¤§¨S¦³§ó§ï¡C
 
 
³oÓ¨âÓ¦r¬q³£¤£»Ýn§A¨ÓºÞ²z©MºûÅ@¡C§A¥uºÞ¦bªí¤¤¥[¤J³o¨âÓ¦r¬q´N¦æ¤F¡C _________________ #############################
 
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~ì¨Ó©¯ºÖ¨º»ò²³æ!!
 
 
¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
 
############################# | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		Ruey
 
 
  µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
  ²Ä 5 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤G ¤G¤ë 24, 2004 5:27 pm    ¤å³¹¥DÃD:  | 
				     | 
			 
			
				
  | 
			 
			
				VFP+SQL ½sµ{(5)-¥ÎSPTºÞ²z±b¸¹
 
1¡B²K¥[¤@Ó±b¸¹ 
 
 
gcDSN='PCSRV' && pcsrv¬O§Úªº¥D¾÷¦W
 
gcUID='sa'
 
gcPWD='111'
 
gcSQLDatabase='¸ê®ÆºÞ²z'
 
 
*¡@³]©w¤£Åã¥ÜODBCµn¿ý¹ï¸Ü®Ø 
 
=SQLSETPROP(0,"DispLogin",3)
 
* «Ø¥ß»P¼Æ¾Ú®wmasterªº³s±µ
 
gnMaster =SQLSTRINGCONNECT("DSN=&gcDSN;UID=&gcUID;PWD=&gcPWD;DATABASE=master")
 
 
cNewLoginID='zxj'
 
²K¥[¤@Óµn¿ý¦W(¦bSQL Server¤W)'zxj'
 
n1=SQLEXEC(gnMaster,"sp_addlogin '&cNewLoginID'")
 
 
2¡B¦b§Aªº¼Æ¾Ú®w¤¤²K¥[¤@ӥΤázxj
 
«Ø¥ß»P§Aªº¼Æ¾Ú®wªº³s±µ
 
 
«Ø¥ß»P§Aªº¼Æ¾Ú®wªº³s±µ
 
ghandle = SQLSTRINGCONNECT("DSN=&gcDSN;UID=&gcUID;PWD=&gcPWD;DATABASE=&gcSQLDatabase")
 
 
²K¥[¤@Ózxj¥Î¤á(¦b§Aªº¼Æ¾Ú®w¤¤)
 
n2=SQLEXEC(gnHandle ,"sp_grantdbaccess '&cNewLoginID','&cNewLoginID'")
 
 
 
 
 
¦pªGn1>0 ©În2>0 ªí¥Ü«Ø¥ß¦¨¥\¡C¤Ï¤§¥¢±Ñ
 
 
3¡B§R°£¤@Ӽƾڮw¥Î¤á
 
n1=SQLEXEC(gnHandle ,"sp_revokedbaccess '&cLoginID'") 
 
 
ª`·N¡G§A¾Þ§@ªº¬O«á¥xªºþӼƾڮw¡An¬Ý³s±µ¥y¬`¬O«ü¦VþӼƾڮwªº¡C³o¸Ìªº³s±µ¥y¬`¬O«ü¦V§Úªº¼Æ¾Ú®w¡u¸ê®ÆºÞ²z¡v
 
Åܶq·N¸q¦P1¼Ó¡C 
 
 
 
4¡B§R°£¤@Óµn¿ý±b¸¹ 
 
 
n2=SQLEXEC(gnMaster ,"sp_droplogin '&cLoginID'")
 
µù¡GgnMaster ¬O«ü¦VMaster¼Æ¾Ú®wªº¡C 
 
 
 
±N·s¼W¥[ªº¥Î¤á¥[¤J¨ìsecurityadmin¨¤¦â¤¤
 
n=SQLEXEC(gnMaster,"sp_addsrvrolemember '&cNewLoginID',securityadmin") 
 
 
»¡©ú¡G¦pªG§A¤£§â·s¼Wªº¥Î¤á¥[¤J¨ìsecurityadmin¨¤¦â¤¤¡A·í§A¥Î·s¥Î¤áµn¿ý®É¡AµLÅv§ïÅܦۤvªº¤f¥O¡C _________________ #############################
 
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~ì¨Ó©¯ºÖ¨º»ò²³æ!!
 
 
¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
 
############################# | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		Ruey
 
 
  µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
  ²Ä 6 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤G ¤G¤ë 24, 2004 5:29 pm    ¤å³¹¥DÃD:  | 
				     | 
			 
			
				
  | 
			 
			
				VFP+SQL ½sµ{(6)-°O¿ýºûÅ@
 
°²³]§Aªº¥i§ó·sªº»·µ{µø¹Ï¬O¡uVIEW_¾Ç¥Í°ò¥»±¡ªp¡v
 
º¥ý°µ¤@Óªí³æ¡Aªí³æ¤W¦³¥|Ó«ö¶s¡G¡v²K¥[/«O¦s¡u¡B¡u×§ï/«°µ¡v¡B¡u§R°£¡v¡B¡u°h¥X¡v¦p¹Ï1©Ò¥Ü(°h¥X«ö¶s¬Ù¤F) 
 
 
 
¦¹¥DÃD¬ÛÃö¹Ï¤ù¦p¤U¡G
 
 
 
¦p¹Ï1
 
 
¦bformªºLoad¨Æ¥ó¤¤¥´¶}§Aªº¥i§ó·sªº»·µ{µø¹Ï
 
 
* §PÂ_¥H«e¬O§_¥´¶}¹L
 
if not used(¡y¾Ç¥Í°ò¥»±¡ªp¡z)
 
  use view_¾Ç¥Í°ò¥»±¡ªp alias ¾Ç¥Í°ò¥»±¡ªp in 0
 
endif
 
 
select ¾Ç¥Í°ò¥»±¡ªp
 
 
* ³]¸m¦¨ªí½w½Ä
 
CURSORSETPROP("Buffering",5)
 
 
 
²K¥[/«O¦s¤@Ó°O¿ý
 
"²K¥[«ö¶s"ªºClick¨Æ¥ó
 
IF THISFORM.mode=0 ¦pªG·í«e¬O¬d¸ß°O¿ýªºª¬ºA
 
 
* thisform.mode ¬O¤@Ó¦Û©w¸qÄÝ©Ê,¥Î¨Ó§PÂ_·í«eªºª¬ºA¬O0¡Ð¬d¸ß¡B1¡Ð²K¥[¡B2¡Ð×§ï°O¿ýªºª¬ºA¥Î
 
 
    THISFORM.mode=1 && ªí¥Ü¶i¤J²K¥[°O¿ýªºª¬ºA
 
    THISFORM.Recno = RECNO() && «O¦s·í«e°O¿ý¸¹¨ì¦Û©w¸qÄÝ©Êthisform.recno
 
 
     APPEND BLANK
 
 
               * §ó§ï«ö¶sªº¹Ï¤ù¡A¡u²K¥[«ö¶s¡vªº¹Ï¤ù¥Ñ²K¥[Åܦ¨¡u«O¦s¡v¡A×§ï«ö¶sªº¹Ï¤ùÅܦ¨¡u«°µ¡v¡A¦p¹Ï2©Ò¥Ü
 
 
¦¹¥DÃD¬ÛÃö¹Ï¤ù¦p¤U¡G
 
 
 
¹Ï2
 
  THISFORM.cmdNew.PICTURE=gcPicsPath+"wzsave.bmp"
 
  THISFORM.cmdEdit.PICTURE=gcPicsPath+"wzundo.bmp"
 
 
 
ELSE && «O¦s°O¿ý  
 
 
 
  SELECT ¾Ç¥Í°ò¥»±¡ªp
 
  TABLEUPDATE(1,.T.) && «O¦s
 
  THISFORM.mode=0  && §ï¦^¬d¸ßª¬ºA
 
   * §ó§ï«ö¶s¹Ï¤ù
 
  THISFORM.cmdNew.PICTURE=gcPicsPath + 'wznew.bmp'
 
  THISFORM.cmdEdit.PICTURE=gcPicsPath + 'wzedit.bmp'
 
 
ENDIF
 
*    ¨ê·sªí³æ
 
THISFORM.REFRESH
 
 
 
»¡©ú¡G
 
gcPicsPath ¬O«ö¶s¹Ï¤ù¦s©ñ¸ô®|
 
 
 thisform.mode ¬O¤@Ó¦Û©w¸qÄÝ©Ê,¥Î¨Ó§PÂ_·í«eªºª¬ºA¬O0¡Ð¬d¸ß¡B1¡Ð²K¥[¡B2¡Ð×§ï°O¿ýªºª¬ºA¥Î
 
 
 
 
 
"×§ï/«°µ"«ö¶sªºClick¨Æ¥ó 
 
 
SELECT ¾Ç¥Í°ò¥»±¡ªp
 
 
* ×§ï°O¿ý
 
IF THISFORM.mode=0 && ¦pªG¬O¬d¸ßª¬ºA
 
 
  * ¦pªGµL°O¿ý¡A¤£¯à×§ï
 
  IF RECCOUNT("¾Ç¥Í°ò¥»±¡ªp")=0 
 
     return
 
  ENDIF
 
  THISFORM.mode=2 && ªí¥Ü¶i¤Jק窱ºA
 
 
 * §ó´«¬ÛÃöªº«ö¶s¹Ï¼Ð
 
 THISFORM.cmdNew.PICTURE=gcPicsPath+"wzsave.bmp"
 
 THISFORM.cmdEdit.PICTURE=gcPicsPath+"wzundo.bmp"
 
 
 
ELSE && «ì´_°O¿ý
 
 
 
   SELECT ¾Ç¥Í°ò¥»±¡ªp
 
 
   IF  THISFORM.mode=2 && ק窱ºA
 
 IF MESSAGEBOX('½T©wn©ñ±ó×§ï¶Ü¡H',4+32+256,'©ñ±ó½T»{')=6
 
  TABLEREVERT(.T.)
 
 ENDIF
 
   ELSE && ¦pªG¬O²K¥[°O¿ý®É©ñ±ó²K¥[°O¿ý
 
 TABLEREVERT(.T.) && ¨ú®ø©Ò°µªº×§ï
 
   ENDIF
 
 
 * «ì´_¬ÛÃö«ö¶s¹Ï¼Ð
 
  THISFORM.cmdNew.PICTURE=gcPicsPath+'wznew.bmp'
 
  THISFORM.cmdEdit.PICTURE=gcPicsPath+'wzedit.bmp'
 
 
 
 
   IF THISFORM.mode=1 &&¦pªG¬O²K¥[ª¬ºA
 
    * «ì´_Àô¹Ò
 
     IF THISFORM.RecNo>0 AND RECCOUNT()>=THISFORM.RecNo
 
 GOTO THISFORM.Recno
 
     ENDIF
 
    ENDIF
 
    THISFORM.mode=0 && ªí¥Ü¤w¦^¨ì¬d¸ßª¬ºA
 
ENDIF
 
THISFORM.REFRESH
 
 
 
 
³o¸Ì»¡©ú¬°¤°»òn¥Îªí³æ¦Û©w¸qÄÝ©Êthisform.mode©O¡H 
 
 
¦pªG§A¦bªí³æªº¨CӼƾڽs¿è±±¥ó¦pTextBOX,EditBoxµ¥ªºRefresh()¤¤¿é¤J¤U¦C¥N½X¡G
 
IF thisform.mode = 0
 
 this.ReadOnly = .T.
 
 this.DisabledBackColor = gnBackColor
 
ELSE
 
 this.ReadOnly = .F.
 
 this.BackColor =16777215
 
ENDIF
 
 
¨º»ò¡A³o¨Ç±±¥ó¦b¬d¸ßª¬ºA´N¬O¥uŪªº¡A¤£¯à×§ï¼Æ¾Ú¡A§Ythis.ReadOnly = .T.¦Ó¦b²K¥[©Îק窱ºA®É¡A¥¦Ì·|¦Û°ÊÅܬ°¥i½s¿è¼Æ¾Úª¬ºA¡A§Ythis.ReadOnly = .F. _________________ #############################
 
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~ì¨Ó©¯ºÖ¨º»ò²³æ!!
 
 
¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
 
############################# | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		Ruey
 
 
  µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
  ²Ä 7 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤G ¤G¤ë 24, 2004 5:32 pm    ¤å³¹¥DÃD:  | 
				     | 
			 
			
				
  | 
			 
			
				VFP+SQL ½sµ{(6)-¥Dµ{§Ç½sµ{
 
³o¬Oµ¹ªì¾ÇªÌ±ÀÂˤ@ºØ®æ¦¡¡A¤£¤@©w³Ì¦n¡A¦ý¥¦«o¹ê¯à¥¿±`¹B¦æ 
 
 
 
* µ{§Ç¦W¡Gmain.prg
 
* §@¥Î¡G¾ãÓ¨t²Îªº¤J¤f
 
* ¸ô®|¡G\§Aªºµ{§Ç¥Ø¿ý\prgs
 
 	  | ¥N½X: | 	 		  
 
 
Set Talk off
 
Set Escap off
 
 
* ¶}©l¡Aµ{§Ç¿ù»~³B²z
 
 ON ERROR DO Err.PRG  With Error(),  Message(),  Message(1),  Program(),  Lineno(1) 
 
* ²Ä¤@¨B¡A²M²zÀô¹Ò*****************************
 
 
Close All     && Ãö³¬©Ò¦³¤u§@°Ï¤¤¥´¶}ªº¼Æ¾Ú®w¡Bªí©M¯Á¤Þ¡A¨Ã¿ï¾Ü¤u§@°Ï 1¡C 
 
 
Clear Menus  &&  ±q¤º¦s¤¤ÄÀ©ñ©Ò¦³ªº¤º¦sÅܶq©M¼Æ²Õ¥H¤Î©Ò¦³¥Î¤á¦Û©w¸qµæ³æÄæ¡B
 
                   && µæ³æ©Mµ¡¤fªº©w¸q¡C ÁÙ±q¤º¦s¤¤§R°£©Ò¦³¥Î DECLARE-ALL µù¥U
 
                   && ªº¥~³¡ Windows 32 ¦ì°ÊºAÃì±µ®w (.DLLS)¡C 
 
* Ãö³¬¨t²Îµæ³æ
 
 
* ¦pªG¦bµo¥X SET SYSMENU SAVE ©R¥O¤§«á×§ï¤Fµæ³æ¨t²Î¡A¥i¥H³q¹Lµo¥X 
 
* SET  SYSMENU TO DEFAULT ©R¥O¨Ó«ì´_«e±ªº³]¸m¡C 
 
Set Sysmenu Save 
 
 
* ¦bµ{§Ç°õ¦æ´Á¶¡¼o¤î Visual FoxPro ¥Dµæ³æÄæ¡C
 
Set Sysmenu Off
 
 
Set Sysmenu To
 
  
 
 
* ²Ä¤G¨B¡A³]¸mÀô¹Ò
 
 
* °h¥XRead®É«O¦s¼Æ¾Ú½w½Ä°Ï¤º®e
 
Set Autosave On  
 
 
* ¨Ï¥Î INSERT¡BAPPEND ©M BROWSE ©R¥O³Ð«Ø·s°O¿ý®É¡A¤£±N·í«e°O¿ý¼Æ¾Ú½Æ»s¨ì·s°O¿ý¤¤¡C
 
Set Carry Off 
 
 
* «ü©w¬O§_¥i¥H¥Î¦b¤å¥»®Ø¤¤Áä¤J³Ì«á¤@Ó¦r²Åªº¤èªk°h¥X¤å¥»®Ø¡C
 
Set Confirm Off
 
 
*  ¤é´Á¤£Åã¥Ü¥@¬ö³¡¤À
 
Set Century Off  
 
 
* ³]¸m¤é´Á®æ¦¡¬°"YY.MM.DD" ®æ¦¡
 
Set Date Ansi 
 
 
* ¤£Åã¥Ü¤w¸g§R°£ªº°O¿ý
 
Set Delete On 
 
 
* ¨M©w¯à§_¨Ï¥Î LOCK ( )©Î RLOCK ( ) Âê©w¦hÓ°O¿ý¡C
 
Set Multilocks On && ºôµ¸½sµ{±M¥Î
 
 
* ½T©w ATLTER TABLE¡BCREATE TABLE ©M INSERT - SQL ©R¥O¦p¦ó³B²z null È¡C
 
Set Null On         
 
                  
 
* «ü©w·í¦r¬q¬OªÅÈ(NUll)Åã¥Üªº¤å¥»¬°
 
Set NullDisplay To '' 
 
 
* §ï¼g¤w¦³¤å¥ó¤§«e¤£Åã¥Ü¹ï¸Ü®Ø
 
Set Safety Off
 
 
* ²¾¥h¹Ï§Îª¬ºAÄæ¡C
 
Set Status Bar Off
 
 
 
* ²Ä¤T¨B¡A³]¸m§Aªºµ{§Ç¸ô®|
 
 
* ³]¸mµ{§Ç¥D¥Ø¿ý
 
Public gcMainPath
 
gcMainPath = Sys(5)+Sys(2003)+"\"
 
Set Default To &gcMainPath
 
 
* ¼Æ¾Ú¥Ø¿ý(¥»¦a¼Æ¾Ú®w©Mªí)
 
Public gcDataPath 
 
gcDataPath =gcMainPath+"Data\"
 
 
* µ{§Ç¥Ø¿ý
 
Public gcPrgsPath 
 
gcPrgsPath =gcMainPath+"Prgs\"
 
 
 
* ¹Ï¤ù¥Ø¿ý
 
Public gcPicsPath
 
gcPicsPath=gcMainPath + "pics\"
 
 
* ªí³æ¥Ø¿ý
 
Public gcFormsPath 
 
gcFormsPath = gcMainPath+"forms\" 
 
 
* µæ³æ¥Ø¿ý
 
Public gcMenusPath 
 
gcMenusPath = gcMainPath+"menus\"
 
 
* ¼ÐÅҥؿý
 
Public gcLabelsPath 
 
gcLabelsPath = gcMainPath+"labels\
 
 
* ³øªí¥Ø¿ý
 
Public gcReportsPath 
 
gcReportsPath =gcMainPath+"Reports\"
 
 
 
* ²Ä¥|¨B ªì©l¤ÆÁä½L
 
Capslock(.F.)
 
 
IMEStatus(0)
 
 
Insmode(.T.) 
 
 
Numlock(.T.) 
 
 
 
* ²Ä¤¨B ¥´¶}¦Û©w¸qÃþ®w¡B¹Lµ{¤å¥ó
 
Set Classlib To gcMainPath+"vcx\MyVCX.vcx"
 
 
Set Procedure To gcPrgsPath +"Myproc.prg"
 
 
* ³]¸m¤£Åã¥ÜODBCµn¿ý¹ï¸Ü®Ø
 
SQLSETPROP(0,"DispLogin",3)  && ºôµ¸±M¥Î
 
 
* ²Ä¤»¨B Án©ú¨ä¥L¥þ§½Åܶq
 
* ¼Æ¾Ú·½¦WºÙ
 
Public gcDSN 
 
gcDSN  = ¡y¡z
 
 
* ¥Î¤áµn¿ý¦W
 
Public gcUID
 
gcUID = ¡y¡z
 
 
* ¥Î¤áµn¿ý¤f¥O
 
Public gcPWD
 
gcPWD=¡y¡z
 
 
* ·í«eµn¿ý¥Î¤á©m¦W(¤¤¤å)
 
PUBLIC gcName
 
gcName=''
 
 
* «e«áºÝ¼Æ¾Ú®w¦W
 
Public gcSQLDatabase,gcFoxDatabase 
 
gcSQLDatabase = ¡y¸ê®ÆºÞ²z¡z && «áºÝ SQL ¼Æ¾Ú®w
 
gcFoxDatabase = ¡y¸ê®ÆºÞ²z¡z && «eºÝ VFP¼Æ¾Ú®w
 
 
* ³s±µ¥y¬`
 
Public gnHandleMaster &&»P«áºÝ master ¨t²Î¼Æ¾Ú®wªº³s±µ¥y¬`
 
gnHandleMaster = 0   
 
 
Public gnHandleUser && »P«áºÝ¥Î¤á¼Æ¾Ú®w¡ugcSQLDatabase ¡vªº³s±µ¥y¬`
 
gnHandleUser = 0
 
 
 
* ²Ä¤C¨B¡AÀˬdµn¿ý±b¸¹
 
 
* ½Õ¥Îµn¿ýªí³æ"login.scx"
 
Do Form gcFormsPath+"login.scx" To gnHandleUser  
 
 
µ²ªG¦p¤U¹Ï©Ò¥Ü
 
 
 
* ¦pªGµn¿ý¦¨¥\ gnHandleUser > 0 ªí¥Üµn¿ý¦¨¥\¡A¤Ï¤§¡A¥¢±Ñ 
 
 
If  gnHandleUser <= 0 && µn¿ý¥¢±Ñ
 
    Quit && °h¥X
 
Endif
 
 
* «ü©w·í¸Õ¹Ï°h¥XVFP®Én°õ¦æªºµ{§Ç 
 
ON SHUTDOWN DO gcPrgsPath +"FileExit.prg" && ¥N½X¦p¤U¼Ó©Ò¥Ü¡C
 
 
 
* ²Ä¤K¨B¡A½Õ¥Îµ{§Ç¥Dµæ³æ
 
Do gcMenusPath+"mainmenu.mpr"
 
 
* ²Ä¤E¨B¡AÅã¥Üµ{§Ç«Ê±¡A®à±
 
Do Form gcFormsPath+"title.scx" && «Ê±
 
 
Do Form gcFormsPath+"Desktop.scx" && ®à±¡A¤]´N¬O§Aªºµ{§ÇI´º(¹Ï¤ù²¤)
 
 
 
 
* ²Ä¤Q¨B ¥´¶}©Î³Ð«Ø¥»¦a¼Æ¾Ú®w
 
cFoxDb=gcDataPath+ gcFoxDatabase + ".dbc"
 
 
If Not Files(cFoxDb) && ¦pªG«ü©wªº¼Æ¾Ú®w¤£¦s¦b
 
 
    Create Database &cFoxDb && ³Ð«Ø¥¦
 
 
Endif
 
 
 
* ±Ò°Ê¨Æ¥ó³B²z
 
Read Events
 
 
* ±NÄÀ©ñ·í«eªº ON SHUTDOWN ©R¥O
 
ON SHUTDOWN | 	  
 
----------- ¥þ------------------------------------
 
¸Óµ{§ÇÁÙ±N¤£Â_§¹µ½¡C
 
 
 
* µ{§Ç¡GFileExit
 
* §@¥Î¡G¸Ñ¨Mµ{§Ç¹B¦æ«á¡AÂIÀ»¥Dµ¡¤fÃö³¬«ö¶s[X]¤£¯à°h¥XVFPªº°ÝÃD 
 
 
 	  | ¥N½X: | 	 		  If Messagebox('±z¯un°h¥X¥»¨t²Î¶Ü¡H',4+32+256,'°h¥X½T»{')<>6 AND gnHandleUser > 0
 
 Return
 
Endif
 
 
*Do While Txnlevel()>0
 
* Rollback
 
*Enddo
 
Clear Events
 
ON SHUTDOWN
 
 
* «ì´_Àô¹Ò
 
Set Sysmenu To Default
 
 
 
With _Screen
 
 .WindowState=2 &&³Ì¤j¤Æ
 
 .BackColor=Rgb(255,255,255)
 
 .Caption="Microsoft Visual FoxPro"
 
 .Icon =''
 
Endwith
 
 
 
* Ãö³¬¼Æ¾Ú®w¤Îªí
 
If Used("cfg")
 
 Use In cfg
 
Endif
 
 
If Used("dsn")
 
 Use In dsn
 
Endif
 
 
If Used("uid")
 
 Use In uid
 
Endif
 
 
 
Close Database All    &&Ãö³¬©Ò¦³¼Æ¾Ú®w
 
Close All      &&Ãö³¬¦UºØÃþ«¬ªº¤å¥ó¡A¦ý¤£Ãö³¬©R¥Oµ¡¤f¡B½Õ¸Õµ¡¤f¡BÀ°§U¡B¸òÂܵ¡¤f¡C
 
Clear Menus     &&ÄÀ©ñ¤º¦s¤¤©Ò¦³ªºµæ³æ©w¸q¡C
 
Clear Popups     &&ÄÀ©ñ¤º¦s¤¤©Ò¦³¥ÎDEFINE POPUP©R¥O³Ð«Øªºµæ³æ©w¸q¡C
 
Clear Windows    &&ÄÀ©ñ¤º¦s¤¤©Ò¦³¥Î¤á¦Û©w¸qµ¡¤fªº©w¸q¡A¨Ã±qVFP¥Dµ¡¤f©Î¬¡°Êªº¥Î¤á¦Û©w¸qµ¡¤f¤¤²M°£µ¡¤f¡C
 
Clear      &&²M«Ì
 
Set Safe On
 
_Screen.Picture=""
 
 
 
=SQLDISCONNECT(0)
 
 
Quit | 	  
 
 
 
 
* µ{§Ç¡G¿ù»~³B²z¡A¥Ñ±ö¤l´£¨Ñ¡A¥¼ÅçÃÒ¡C
 
 	  | ¥N½X: | 	 		  *****************
 
err.prg
 
*****************
 
PARAMETER NERROR , CMESSAGE , CMESSAGE1 , CPROGRAM , NLINENO
 
 SET TEXTMERGE DELIMITERS  to 
 
 SET TEXTMERGE ON
 
 SET TEXTMERGE TO ErrorLog.txt ADDITIVE NOSHOW 
 
 \---------------------------------------------------------------------
 
 \<<DATE( )>> <<TIME( )>> ¿ù»~°O¿ý
 
 \µ{§Ç¼ÐÃD: <<_Screen.Caption>>
 
 \µ{§Ç¶}µoª©¥»: <<VERSION(1)>>
 
 DO CASE 
 
 CASE _SCREEN.WINDOWSTATE = 0
 
    \µ¡¤fª¬ºA: ´¶³q
 
 CASE _SCREEN.WINDOWSTATE = 1
 
    \µ¡¤fª¬ºA: ³Ì¤p¤Æ
 
 CASE _SCREEN.WINDOWSTATE = 2
 
    \µ¡¤fª¬ºA: ³Ì¤j¤Æ
 
 ENDCASE 
 
 \µ¡¤f¥iµø: <<IIF(_Screen.Visible= .T.  , "¥i¨£" , "¤£¥i¨£")>>
 
 \µ¡¤f¶°¦X¼Æ: <<_Screen.FormCount>>
 
 \ºôµ¸¾÷¾¹«H®§: <<SYS(0)>>
 
  \°õ¦æµ{§Ç: <<JUSTFNAME(SYS(16,1))>>
 
 \°õ¦æµ{§Ç©Ò¦b¥Ø¿ý: <<JUSTPATH(SYS(16,1))>>
 
 \°õ¦æµ{§Ç©Ò¦b¥Ø¿ýºÏ½LªÅ¶¡: <<DISKSPACE(JUSTDRIVE(SYS(16,1)))>>
 
  \Àq»{¥Ø¿ý: <<SYS(5)>><<SYS(2003)>>
 
 \Àq»{¥Ø¿ýºÏ½LªÅ¶¡: <<DISKSPACE(SYS(5))>>
 
 \¤å¥ó·j´M¸ô®|: <<SET("PATH")>>
 
  \¨t²ÎÁ{®É¥Ø¿ý: <<SYS(2023)>>
 
 \µêÀÀ¤º¦s¦À¤j¤p: <<SYS(1001)>>
 
  \¥¿¦b¨Ï¥Îªº¤u§@°Ï: <<Alias()>>
 
 \¬¡°Ê¦r¬q: <<VARREAD()>>
 
  IF TYPE('_Screen.ActiveForm.Name') = 'C'
 
    \¬¡°Êªí³æ: <<_Screen.ActiveForm.Name>>
 
    \ªí³æ¼ÐÃD: <<_Screen.ActiveForm.Caption>>
 
    \ªí³æ°òÃþ: <<_Screen.ActiveForm.BaseClass>>
 
    \ªí³æ¬£¥Í: <<_Screen.ActiveForm.Class>>
 
    \ªí³æ¬£¥Í®w: <<_Screen.ActiveForm.ClassLibrary>>
 
    \ªí³æ¦ì¸m: <<SYS(1271, _Screen.ActiveForm)>>
 
 ELSE 
 
    \µL¬¡°Êªí³æ   
 
 ENDIF 
 
 IF TYPE('_Screen.ActiveForm.ActiveControl') = 'O'
 
    \¬¡°Ê±±¨î: <<_Screen.ActiveForm.ActiveControl.Name>>
 
    IF TYPE('_Screen.ActiveForm.ActiveControl.Caption') = 'C'
 
       \±±¨î¼ÐÃD: <<_Screen.ActiveForm.ActiveControl.Caption>>
 
    ENDIF 
 
    \±±¥ó°òÃþ: <<_Screen.ActiveForm.ActiveControl.BaseClass>>
 
    \±±¥ó¬£¥Í: <<_Screen.ActiveForm.ActiveControl.Class>>
 
    \±±¥ó¬£¥Í®w: <<_Screen.ActiveForm.ActiveControl.ClassLibrary>>
 
    \±±¥ó¦ì¸m: <<SYS(1271, _Screen.ActiveForm.ActiveControl)>>
 
 ELSE 
 
    \µL¬¡°Ê±±¨î   
 
 ENDIF 
 
  \¿ù»~¥N¸¹: <<nError>>
 
 \¿ù»~«H®§: <<cMessage>>
 
 \²£¥Í¿ù»~ªº¦ì¸m: <<cProgram>>
 
 \©Ò¦b¦æ¸¹: <<nLineno>>
 
 \²£¥Í¿ù»~ªº¥N½X: <<cMessage1>>
 
  \¿é¥X¤º¦s¨Ï¥Î±¡ªp -> MemoryLog.txt
 
 \¿é¥X¤u§@Àô¹Ò¨ì -> StatusLog.txt
 
 SET SAFETY OFF
 
 DISPLAY MEMORY TO File MemoryLog.txt NOCONSOLE
 
 DISPLAY STATUS TO File StatusLog.txt NOCONSOLE
 
  \---------------------------------------------------------------------
 
 SET TEXTMERGE TO
 
 Nvalue =  ;
 
      MESSAGEBOX('µ{§Çµo¥Í¿ù»~¡I¸Ô²Ó«H®§¦p¤U¡G' + CHR(13) + CHR(13) + '¿ù»~¥N¸¹: ' +  ;
 
LTRIM(STR(NERROR)) +  ;
 
CHR(13) +  ;
 
'¿ù»~¦æ¸¹: ' +  ;
 
LTRIM(STR(NLINENO)) +  ;
 
CHR(13) +  ;
 
'¿ù»~«H®§: ' +  ;
 
CMESSAGE +  ;
 
CHR(13) +  ;
 
'¿ù»~¥N½X: ' +  ;
 
CMESSAGE1 +  ;
 
CHR(13) +  ;
 
'¿ù»~¦ì¸m: ' +  ;
 
CPROGRAM +  ;
 
CHR(13) +  ;
 
CHR(13) +  ;
 
'¸Ó¿ù»~¤w¸g°O¿ý¨ì¤å¥ó:Errorlog.txt,Memorylog.txt,Statuslog.txt¡C',50,'«H®§')
 
 DO CASE 
 
 CASE Nvalue = 3
 
    QUIT 
 
 CASE Nvalue = 4
 
    RETRY  
 
 CASE Nvalue = 5
 
    RETURN 
 
 ENDCASE  | 	 
  _________________ #############################
 
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~ì¨Ó©¯ºÖ¨º»ò²³æ!!
 
 
¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
 
############################# | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		µ£¤ß¥¼ª{
 
 
  µù¥U®É¶¡: 2003-10-04 ¤å³¹: 3
 
  ²Ä 8 ¼Ó
  | 
		 | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		bin1x
 
 
  µù¥U®É¶¡: 2004-08-27 ¤å³¹: 462
 
  ²Ä 9 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤» ¤Q¤G¤ë 11, 2004 8:26 pm    ¤å³¹¥DÃD:  | 
				     | 
			 
			
				
  | 
			 
			
				| «z¶ë,¦nÅå¤Hªº¨ÑÄm | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		rv2231
 
 
  µù¥U®É¶¡: 2003-12-15 ¤å³¹: 1
 
  ²Ä 10 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤G ¤Q¤G¤ë 14, 2004 3:05 pm    ¤å³¹¥DÃD:  | 
				     | 
			 
			
				
  | 
			 
			
				·½½X¯Ê myvcx.vcx
 
¥i§_»¡©ú¦¹Ãþ§Oµ{¦¡¤§¬ÛÃö¤º®e | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		ERIC
 
 
  µù¥U®É¶¡: 2006-11-27 ¤å³¹: 45
 
  ²Ä 11 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤ ¤T¤ë 09, 2007 9:36 pm    ¤å³¹¥DÃD:  | 
				     | 
			 
			
				
  | 
			 
			
				n¼g¦¨
 
 
 	  | ¥N½X: | 	 		  * ½Õ¥Îµn¿ýªí³æ"login.scx" 
 
Do Form gcFormsPath+"login.scx" To gnHandleUser  
 
 
µ²ªG¦p¤U¹Ï©Ò¥Ü 
 
 
 
* ¦pªGµn¿ý¦¨¥\ gnHandleUser > 0 ªí¥Üµn¿ý¦¨¥\¡A¤Ï¤§¡A¥¢±Ñ 
 
 
If  gnHandleUser <= 0 && µn¿ý¥¢±Ñ 
 
    Quit && °h¥X 
 
Endif | 	  
 
 
¤£¯à¼g¦¨
 
 	  | ¥N½X: | 	 		  * ½Õ¥Îµn¿ýªí³æ"login.scx" 
 
 
Do Form gcFormsPath+"login.scx" To gnHandleUser  
 
 
µ²ªG¦p¤U¹Ï©Ò¥Ü 
 
 
 
* ¦pªGµn¿ý¦¨¥\ gnHandleUser > 0 ªí¥Üµn¿ý¦¨¥\¡A¤Ï¤§¡A¥¢±Ñ 
 
 
If  gnHandleUser > 0 && µn¿ý¥¢±Ñ 
 
   do Login.scx
 
 
Endif | 	  
 
 
§_«h µ{¦¡ ·|¸õ¤£¥X _________________ ¾ÇµL¤î¹Ò¡I¤¬¬Û«jÀy§a¡ã
 
 
¦³»Ýn¾Ç²ßVFPªº·s¤â.¥i¥H§ä§Ú!! | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
±z µLªk ¦b³oÓª©±µoªí¤å³¹ ±z µLªk ¦b³oÓª©±¦^ÂФ峹 ±z µLªk ¦b³oÓª©±½s¿è¤å³¹ ±z µLªk ¦b³oÓª©±§R°£¤å³¹ ±z µLªk ¦b³oÓª©±¶i¦æ§ë²¼ ±z µLªk ¦b³oÓª©±ªþ¥[ÀÉ®× ±z µLªk ¦b³oÓª©±¤U¸üÀÉ®×
  | 
   
  
  
Powered by phpBB © 2001, 2005 phpBB Group ¥¿Å餤¤å»y¨t¥Ñ phpbb-tw ºûÅ@»s§@ 
		 |