VFP ·R¥ÎªÌªÀ°Ï ­º­¶ 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¸ü.
 
 ±`¨£°ÝÃD±`¨£°ÝÃD   ·j´M·j´M   ·|­û¦Cªí·|­û¦Cªí   ·|­û¸s²Õ·|­û¸s²Õ   ·|­ûµù¥U·|­ûµù¥U 
 ­Ó¤H¸ê®Æ­Ó¤H¸ê®Æ   µn¤JÀˬd±zªº¨p¤H°T®§µn¤JÀˬd±zªº¨p¤H°T®§   µn¤Jµn¤J

¥Ü½dado

 
µoªí·s¥DÃD   ¦^ÂÐ¥DÃD    VFP ·R¥ÎªÌªÀ°Ï ­º­¶ -> VFP °Q½×°Ï
¤W¤@½g¥DÃD :: ¤U¤@½g¥DÃD  
µoªí¤H ¤º®e
Ruey



µù¥U®É¶¡: 2003-03-12
¤å³¹: 1698
¨Ó¦Û: tunglo

²Ä 1 ¼Ó

µoªíµoªí©ó: ¬P´Á¤T ¤K¤ë 13, 2003 11:26 am    ¤å³¹¥DÃD: ¥Ü½dado ¤Þ¨¥¦^ÂÐ

*-- ½Ð­×§ïµ{¦¡¤¤ªºorecordset.OPEN("select * from authors","Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=RMH;Connect Timeout=15",adopendynamic, adlockoptimistic)
*-- ùØ­±ªº User ID=sa¡A(¥Î¤á¦W)
*-- Data Source=RMH (§Aªº SQL Server ¦øªA¾¹¦W)
*-- Password= (§Aªº¤f¥O)

oFORM = CreateObject("FORM1")

If vartype(oFORM) = "O"
oFORM.Show(1)
Endif

**************************************************
*-- FORM: FORM1 (f:\ado\adofirst.scx)
*-- ParentClass: FORM
*-- BaseClass: FORM
*-- ®É¶¡ÂW: 03/13/02 07:27:02 PM
*
DEFINE CLASS FORM1 AS FORM


Top = 6
Left = 28
Height = 263
Width = 644
DoCreate = .T.
Caption = "ADO C/S ¸ê®Æµn¿ýªí³æ"
WindowState = 0
Name = "FORM1"


ADD OBJECT label1 AS label WITH ;
AutoSize = .T., ;
Caption = "§@®a¼ÐÃÑ", ;
Height = 16, ;
Left = 12, ;
Top = 68, ;
Width = 50, ;
TabIndex = 18, ;
Name = "Label1"


ADD OBJECT label2 AS label WITH ;
AutoSize = .T., ;
Caption = "©m", ;
Height = 16, ;
Left = 48, ;
Top = 104, ;
Width = 14, ;
TabIndex = 19, ;
Name = "Label2"


ADD OBJECT label3 AS label WITH ;
AutoSize = .T., ;
Caption = "¦W", ;
Height = 16, ;
Left = 48, ;
Top = 140, ;
Width = 14, ;
TabIndex = 20, ;
Name = "Label3"


ADD OBJECT label4 AS label WITH ;
AutoSize = .T., ;
Caption = "¹q¸Ü", ;
Height = 16, ;
Left = 36, ;
Top = 176, ;
Width = 26, ;
TabIndex = 21, ;
Name = "Label4"


ADD OBJECT label5 AS label WITH ;
AutoSize = .T., ;
Caption = "¦a§}", ;
Height = 16, ;
Left = 335, ;
Top = 69, ;
Width = 26, ;
TabIndex = 22, ;
Name = "Label5"


ADD OBJECT label6 AS label WITH ;
AutoSize = .T., ;
Caption = "«°¥«", ;
Height = 16, ;
Left = 335, ;
Top = 96, ;
Width = 26, ;
TabIndex = 23, ;
Name = "Label6"


ADD OBJECT label7 AS label WITH ;
AutoSize = .T., ;
Caption = "¬Ù", ;
Height = 16, ;
Left = 347, ;
Top = 123, ;
Width = 14, ;
TabIndex = 24, ;
Name = "Label7"


ADD OBJECT label8 AS label WITH ;
AutoSize = .T., ;
Caption = "¶l½s", ;
Height = 16, ;
Left = 335, ;
Top = 150, ;
Width = 26, ;
TabIndex = 25, ;
Name = "Label8"


ADD OBJECT cmdfirst AS commandbutton WITH ;
Top = 10, ;
Left = 70, ;
Height = 25, ;
Width = 26, ;
Caption = "<<", ;
TabIndex = 14, ;
Name = "cmdFirst"


ADD OBJECT cmdprev AS commandbutton WITH ;
Top = 10, ;
Left = 96, ;
Height = 25, ;
Width = 26, ;
Caption = "<", ;
TabIndex = 15, ;
Name = "cmdPrev"


ADD OBJECT cmdnext AS commandbutton WITH ;
Top = 10, ;
Left = 122, ;
Height = 25, ;
Width = 26, ;
Caption = ">", ;
TabIndex = 16, ;
Name = "cmdNext"


ADD OBJECT cmdlast AS commandbutton WITH ;
Top = 10, ;
Left = 148, ;
Height = 25, ;
Width = 26, ;
Caption = ">>", ;
TabIndex = 17, ;
Name = "cmdLast"


ADD OBJECT cmdsave AS commandbutton WITH ;
Top = 229, ;
Left = 231, ;
Height = 25, ;
Width = 60, ;
Caption = "«O¦s", ;
TabIndex = 10, ;
Name = "cmdSave"


ADD OBJECT cmdcancel AS commandbutton WITH ;
Top = 229, ;
Left = 353, ;
Height = 25, ;
Width = 60, ;
Caption = "ºM®ø", ;
TabIndex = 11, ;
Name = "cmdCancel"


ADD OBJECT cmdclose AS commandbutton WITH ;
Top = 229, ;
Left = 414, ;
Height = 25, ;
Width = 60, ;
Caption = "Ãö³¬", ;
TabIndex = 13, ;
Name = "cmdClose"


ADD OBJECT cmdnew AS commandbutton WITH ;
Top = 229, ;
Left = 170, ;
Height = 25, ;
Width = 60, ;
Caption = "·s«Ø", ;
TabIndex = 12, ;
Name = "cmdNew"


ADD OBJECT txtau_id AS textbox WITH ;
FORMat = "K", ;
Height = 20, ;
InputMask = "999-99-9999", ;
Left = 69, ;
MaxLength = 11, ;
TabIndex = 1, ;
Top = 64, ;
Width = 75, ;
Name = "txtAu_id"


ADD OBJECT txtau_lname AS textbox WITH ;
FORMat = "K", ;
Height = 20, ;
InputMask = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", ;
Left = 69, ;
MaxLength = 40, ;
TabIndex = 2, ;
Top = 100, ;
Width = 248, ;
Name = "txtAu_lname"


ADD OBJECT txtau_fname AS textbox WITH ;
FORMat = "K", ;
Height = 20, ;
InputMask = "AAAAAAAAAAAAAAAAAAAA", ;
Left = 69, ;
MaxLength = 20, ;
TabIndex = 3, ;
Top = 136, ;
Width = 128, ;
Name = "txtAu_fname"


ADD OBJECT txtphone AS textbox WITH ;
FORMat = "K", ;
Height = 20, ;
InputMask = "999999999999", ;
Left = 69, ;
MaxLength = 12, ;
TabIndex = 4, ;
Top = 172, ;
Width = 81, ;
Name = "txtPhone"


ADD OBJECT txtaddress AS textbox WITH ;
FORMat = "K", ;
Height = 20, ;
InputMask = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", ;
Left = 368, ;
MaxLength = 40, ;
TabIndex = 5, ;
Top = 65, ;
Width = 248, ;
Name = "txtAddress"


ADD OBJECT txtcity AS textbox WITH ;
FORMat = "K", ;
Height = 20, ;
InputMask = "AAAAAAAAAAAAAAAAAAAA", ;
Left = 368, ;
MaxLength = 20, ;
TabIndex = 6, ;
Top = 92, ;
Width = 128, ;
Name = "txtCity"


ADD OBJECT txtstate AS textbox WITH ;
FORMat = "K", ;
Height = 20, ;
InputMask = "AA", ;
Left = 368, ;
MaxLength = 2, ;
TabIndex = 7, ;
Top = 119, ;
Width = 26, ;
Name = "txtState"


ADD OBJECT txtzip AS textbox WITH ;
FORMat = "K", ;
Height = 20, ;
InputMask = "99999", ;
Left = 368, ;
MaxLength = 5, ;
TabIndex = 8, ;
Top = 146, ;
Width = 40, ;
Name = "txtZip"


ADD OBJECT chkcontract AS checkbox WITH ;
Top = 173, ;
Left = 368, ;
Height = 16, ;
Width = 69, ;
Caption = "Ápô", ;
TabIndex = 9, ;
Name = "chkContract"


ADD OBJECT cmddelete AS commandbutton WITH ;
Top = 229, ;
Left = 292, ;
Height = 25, ;
Width = 60, ;
Caption = "§R°£", ;
Name = "cmdDelete"


ADD OBJECT shape1 AS shape WITH ;
Top = 45, ;
Left = 16, ;
Height = 2, ;
Width = 600, ;
SpecialEffect = 0, ;
Name = "Shape1"


ADD OBJECT shape2 AS shape WITH ;
Top = 215, ;
Left = 16, ;
Height = 2, ;
Width = 600, ;
SpecialEffect = 0, ;
Name = "Shape2"


PROCEDURE assign_value
ThisFORM.txtAu_id.value = orecordset.FIELDS("au_id").value
ThisFORM.txtAu_lname.value = orecordset.FIELDS("au_lname").value
ThisFORM.txtAu_fname.value = orecordset.FIELDS("au_fname").value
ThisFORM.txtPhone.value = orecordset.FIELDS("phone").value
ThisFORM.txtAddress.value = orecordset.FIELDS("address").value
ThisFORM.txtCity.value = orecordset.FIELDS("city").value
ThisFORM.txtState.value = orecordset.FIELDS("state").value
ThisFORM.txtZip.value = orecordset.FIELDS("zip").value
ThisFORM.chkContract.value = orecordset.FIELDS("contract").value
THISFORM.REFRESH
ENDPROC


PROCEDURE Init
on error glerr = .t.
thisFORM.Assign_value
ENDPROC


PROCEDURE Load
* ºt¥Ü ADO AddNew, Update, Find,
* Filter ©M Delete ¥\¯à.
Public orecordset,addflag

addflag = .f.

#Define adopendynamic 2
#Define adlockoptimistic 3

orecordset = CREATEOBJECT("ADODB.Recordset")

* SQL Server ÅX°Êµ{¦¡Àq»{ªº¦øªA¾¹ºÝ´å¼Ð,
* ³o»Ý­n¨Ï¥Î adOpenDynamic.

orecordset.OPEN("select * from authors","Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=RMH;Connect Timeout=15",adopendynamic, adlockoptimistic)

orecordset.movefirst()
ENDPROC


PROCEDURE Release
on error
orecordset = null
release orecordset,addflag
ENDPROC


PROCEDURE cmdfirst.Click
orecordset.movefirst()
thisFORM.Assign_value
ENDPROC


PROCEDURE cmdprev.Click
if not orecordset.bof

*-- ¦V«e²¾°Ê°O¿ý«ü¼Ð
orecordset.moveprevious()

*-- ¬O§_¤w¸g¹J¨ì BOF?
if not orecordset.bof
thisFORM.assign_value
else
orecordset.movenext
wait window "¤w¬O°O¿ý¶°²Ä¤@±ø°O¿ý"
endif

else
wait window "¤w¬O°O¿ý¶°²Ä¤@±ø°O¿ý"
endif
ENDPROC


PROCEDURE cmdnext.Click
if not orecordset.eof

*-- ¦V«á²¾°Ê°O¿ý«ü¼Ð
orecordset.movenext

*-- ¬O§_¤w¸g¹J¨ì EOF?
if not orecordset.eof
thisFORM.assign_value
else
orecordset.moveprevious
wait window "¤w¬O°O¿ý¶°³Ì«á¤@±ø°O¿ý"
endif

else
wait window "¤w¬O°O¿ý¶°³Ì«á¤@±ø°O¿ý"
endif
thisFORM.refresh
ENDPROC


PROCEDURE cmdlast.Click
orecordset.movelast
thisFORM.assign_value
ENDPROC


PROCEDURE cmdsave.Click
if empty(thisFORM.txtau_id.value) or empty(thisFORM.txtZip.value)
wait window "§@®a¼ÐÃÑ©M¶l½s¤£¯à爲ªÅ"
return
else
m.auid = trim(thisFORM.txtau_id.value)
endif

if addflag
orecordset.addnew
endif

glerr = .f.

orecordset.fields("au_id") = m.auid
orecordset.fields("au_lname") = trim(thisFORM.txtau_lname.value)
orecordset.fields("au_fname") = trim(thisFORM.txtau_fname.value)
orecordset.fields("phone") = trim(thisFORM.txtphone.value)
orecordset.fields("address") = trim(thisFORM.txtaddress.value)
orecordset.fields("city") = trim(thisFORM.txtcity.value)
orecordset.fields("state") = left(alltrim(thisFORM.txtstate.value),2)
orecordset.fields("zip") = trim(thisFORM.txtzip.value)
orecordset.fields("contract") = thisFORM.chkcontract.value
orecordset.update

addflag = .f.

if !glerr
=messagebox("°O¿ý¤w«O¦s")
else

errmsg = '¿ù»~¸¹: ' + ltrim(str(error())) + chr(13) +chr(13) +chr(13) +;
'¿ù»~¸ê°T: ' + message() + chr(13) +chr(13) +chr(13) +;
'µo¥Í¿ù»~ªº¥N½X: ' + message(1) + chr(13) +chr(13) +chr(13) +;
'µo¥Í¿ù»~ªº¦æ: ' + ltrim(str(lineno())) + chr(13) +chr(13) +chr(13) +;
'µo¥Í¿ù»~ªºµ{¦¡: ' + program()

messagebox(errmsg,0,"µo¥Í¿ù»~")

endif
ENDPROC


PROCEDURE cmdcancel.Click
thisFORM.assign_value
addflag = .f.
ENDPROC


PROCEDURE cmdclose.Click
orecordset = .NULL.
RELEASE orecordset,addflag
thisFORM.release
ENDPROC


PROCEDURE cmdnew.Click
addflag = .t.
ThisFORM.txtAu_id.value = ' - - '
ThisFORM.txtAu_lname.value = space(40)
ThisFORM.txtAu_fname.value = space(20)
ThisFORM.txtPhone.value = space(12)
ThisFORM.txtAddress.value = space(40)
ThisFORM.txtCity.value = space(20)
ThisFORM.txtState.value = space(2)
ThisFORM.txtZip.value = space(5)
ThisFORM.chkContract.value = .f.
THISFORM.txtAu_id.SETFOCUS
thisFORM.refresh
ENDPROC


PROCEDURE cmddelete.Click
glerr = .f.

If NOT orecordset.EOF

orecordset.DELETE

If !glerr
=messagebox("°O¿ý¤w§R°£")
ThisFORM.cmdnext.Click
Else

errmsg = '¿ù»~¸¹: ' + ltrim(str(error())) + chr(13) +chr(13) +chr(13) +;
'¿ù»~¸ê°T: ' + message() + chr(13) +chr(13) +chr(13) +;
'µo¥Í¿ù»~ªº¥N½X: ' + message(1) + chr(13) +chr(13) +chr(13) +;
'µo¥Í¿ù»~ªº¦æ: ' + ltrim(str(lineno())) + chr(13) +chr(13) +chr(13) +;
'µo¥Í¿ù»~ªºµ{¦¡: ' + program()

Messagebox(errmsg,0,"µo¥Í¿ù»~")

Endif

Endif

glerr = .f.
ENDPROC


ENDDEFINE
*
*-- EndDefine: FORM1
**************************************************

_________________
#############################
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~­ì¨Ó©¯ºÖ¨º»ò²³æ!!

¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
#############################
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
±q¤§«eªº¤å³¹¶}©lÅã¥Ü:   
µoªí·s¥DÃD   ¦^ÂÐ¥DÃD    VFP ·R¥ÎªÌªÀ°Ï ­º­¶ -> VFP °Q½×°Ï ©Ò¦³ªº®É¶¡§¡¬° ¥x¥_®É¶¡ (GMT + 8 ¤p®É)
²Ä1­¶(¦@1­¶)

 
«e©¹:  
±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§@