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

±qsqlserver¸ê®Æ®w¾É¤Jmysql¸ê®Æ®wªºÅéÅç(Âà¶K)

 
µ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´Á¤G ¤E¤ë 23, 2003 12:21 am    ¤å³¹¥DÃD: ±qsqlserver¸ê®Æ®w¾É¤Jmysql¸ê®Æ®wªºÅéÅç(Âà¶K) ¤Þ¨¥¦^ÂÐ

±qsqlserver¸ê®Æ®w¾É¤Jmysql¸ê®Æ®wªºÅéÅç
¨Ó·½:php link http://phplink.net/article.php?id=120


¨Ï¥ÎMySql ODBC¶i¦æMYsql©MMS sql7ªº¸ê®ÆÂà´«
¦]¤u§@»Ý­n¡A­n±N¦s©ñ¦bsql server¸ê®Æ®w¤¤ªº¸ê®Æ¥þ³¡¾É¤J¨ìmysql¸ê®Æ®w¤¤¡A¦bºô¤W·j¶°¬ÛÃö¸ê®Æ¡A§ä¨ì¨âºØ¤èªk¡A²{¦b¤À§O½Í½Í¹ï¥L­Ìªº¬Ýªk¡C

²Ä¤@ºØ¬O¦w¸Ëmysql ODBC¡A§Q¥Îsql serverªº¾É¥X¥\¯à¡A¿ï¾Ümysql¸ê®Æ·½¡A¶i¦æ¸ê®Æªºª½±µ¾É¥X¡A³oºØ¤èªk«Ü²«K¡A¦ý¬O°w¹ï¹ê»ÚÀ³¥Î¦³«Ü¦h¹úºÝ¡A³Ì¥D­nÅé²{´N¬O¸ê®ÆÃþ«¬°ÝÃD¡A­º¥ý¡Asql server¸ê®Æ®w¤¤
ªºntext,imageµ¥¸ê®ÆÃþ«¬ªº¸ê®ÆµLªkª½±µ¼g¤J¨ìmysql¸ê®Æ®w¤¤¡A¾Ú»¡¥u­nµy¥[§ï°Ê´N¥i¥H¡A¥i±¤°¸³o¥uµæ³¾ÁÙ¨S·Q¨ì¦p¦ó§ï°Ê¡A¨ä¦¸¡A¦]¬°°¸¦bmysql¤¤ªº¸ê®Æ®w³]­p¤¤±N®É¶¡³£³]¦¨int«¬(«O¦sªº¬O®É¶¡ÂW)¡A©Ò¥H¦b¸ê®Æ¾É¹L¨Ó«á¡A´N·|¥X²{½Ä¬ð¡A¦A¦¸¡A³oºØ¤èªk¥Í¦¨ªºmysql¸ê®ÆªíªºÄæ¦ìÃþ«¬³£¤£«Ü¦X¾A¡A©Ò¥H¦¹ºØ¤èªk§Úı±o¤£¯à´£­Ò¡C

²Ä¤GºØ¬O§Q¥Îphp©Îasp¸}¥»¨Ó¹ê²{¸ê®Æªº¾É¤J¥\¯à¡A³oºØ¤èªk»Ý­n½s¼gµ{¦¡¡A¦ýÆF¬¡©Ê¤j¡A¾Þ§@¤]¤£¬O¨º»ò§xÃø¡A¤@¤Á³£ºÉ¦b§Aªº´x´¤¤§¤¤¡A²{²³æ¤¶²Ð¤@¤U¸Ó¤èªk
«e´£±ø¥ó¬O§AªºmysqlÀô¹Ò¤w¸g·f«Ø¦n¤F¡A¥ý«Ø¦n¥Ø¼Ð¸ê®Æ®w¡A¦A±N©Ò¦³ªºªíµ²ºc¥Îsql»y¥y¥Í¦¨¡A²{¦b¸U¨Æ¨ã³Æ¡A¥u¯Ê¸ê®Æ¤F¡C
¥i¥H³q¹L¤U­±ªºphp¸}¥»¨Ó¹ê²{sql server¤¤mydb¸ê®Æ®wªºuserªí¤¤¸ê®Æ¦Vmysql¤¤mydb¸ê®Æ®w¾É¤J

<?
$cnx = odbc_connect('web', 'admin', '123456');//'web'¬Osqlserver¤¤mydbªº¸ê®Æ·½¦W¡A'admin'¬O³X°Ýmydbªº¥Î¤á¦W¡A'123456'¬O³X°Ýmydbªº±K½X
$cur= odbc_exec( $cnx, 'select * from user' );//¥´¶}sql server¤¤mydb¸ê®Æ®wªºuserªí
$num_row=0;
$conn=mysql_pconnect("localhost","root","123456");// ³s±µmysql
@mysql_select_db('mydb',$conn) or
die("µLªk³s±µ¨ì¸ê®Æ®w¡A½Ð»PºÞ²z­ûÁpô¡I");//¥´¶}mysqlªºmydb¸ê®Æ®w
while( odbc_fetch_row( $cur )) //±qsql serverªºmydb®w¤¤ªºuserªí³v±ø¨ú¥X¸ê®Æ¡A¦pªG¹ï¸ê®Æ¶i¦æ¿ï¾Ü¡A¥i¦b«e­±ªºselect»y¥y¤¤¥[¤W±ø¥ó§PÂ_
{
$num_row++;
$field1 = odbc_result( $cur, 1 ); // ³oùتº°Ñ¼Æi(1,2,3..)«üªº¬O°O¿ý¶°¤¤ªº²Äi­Ó°ì¡A§A¥i¥H¦³©Ò¿ï¾Ü¦a¶i¦æ¿ï¨ú¡Afieldi±o¨ì¹ïÀ³°ìªº­È¡AµM«á§A¥i¥H¹ïfieldi¶i¦æ¾Þ§@
$field2 = odbc_result( $cur, 2 );
$field3 = odbc_result( $cur, 3 );
$field4 = odbc_result( $cur, 4 );
$field5 = odbc_result( $cur, 5 );
$field6 = odbc_result( $cur, 6 );
$field5 = timetoint($field5); //³oùجO¹ïsql server¤¤ªºdatetimeÃþ«¬ªºÄæ¦ì¶i¦æ¬ÛÀ³Âà´«³B²z¡AÂà´«¦¨§Ú©Ò»Ý­nªºint«¬
$querystring = "insert into user
(id,name,username,password,recdate)
values('$field1','$field2','$field3','$field4','$field5')" ;
mysql_query($querystring,$conn);
}
function timetoint($str){
$arr1=split(" ",$str);
$datestr=$arr1[0];
$timestr=$arr1[1];
$arr_date=split("-",$datestr);
$arr_time=split(":",$timestr);
$year=$arr_date[0];
$month=$arr_date[1];
$day=$arr_date[2];
$hour=$arr_time[0];
$minute=$arr_time[1];
$second=$arr_time[2];
$time_int=mktime($hour,$minute,$second,$month,$day,$year);
return $time_int;
}
?>

±N¸Ó¬q¸}¥»¦s¦¨sql.php¡A¦b¦øªA¾¹¤W°õ¦æ¡A´N¥i¥H±N¦øªA¾¹¤Wsql server¤¤mydb¸ê®Æ®wªºuserªí¤¤ªº¸ê®Æ¾É¤J¨ìmysql¤¤mydb¸ê®Æ®wªºuserªí¤¤¥h¡C¨ä¥Lªíªº¾Þ§@»P¦¹¹p¦P¡A´N¤£ÂØ­z¤F¡C
¤U­±¦A¤¶²Ð¤@¤Uasp¸}¥»¹ê²{sql server¤¤mydb¸ê®Æ®wªº¸ê®Æ¦Vmysql¤¤mydb¸ê®Æ®w¾É¤J

<%
set conn=server.createobject("adodb.connection")
conn.open 'web', 'admin', '123456' // 'web'¬Osqlserver¤¤mydbªº¸ê®Æ·½¦W¡A'admin'¬O³X°Ýmydbªº¥Î¤á¦W¡A'123456'¬O³X°Ýmydbªº±K½X
set rs=server.createobject("adodb.recordset")
sql="select ID,name,username,password,datediff(s,'1970-01-01 00:00:00',recdate)-8*3600,reid,filename,fileContentType,filevalue from senddate" //³o±øsql»y¥y¹ê²{¤F±NdatetimeÃþ«¬ªºrecdateÄæ¦ìÂà¤Æ¦¨unix®É¶¡ÂWªºint«¬
rs.open sql,conn,1,3
set conn1=server.createobject("adodb.connection")
conn1.open "myoa","root","q1-d6=7?"
i=1
do while not rs.eof
field1 = rs(0)
field2 = rs(1)
field3 = rs(2)
field4 = rs(3)
field5 = rs(4)
sql1 = "insert into user(ID,name,username,password,recdate)
values("&field1&",'"&field2&"','"&field3&"','"&field4&"',"&field5&")"
conn1.execute sql1
rs.movenext
i=i+1
loop
rs.close
set rs=nothing
conn.close
set conn=nothing
conn1.close
set conn1=nothing
%>

¥H¤W¨â­Ó¬O¤À§O±Ä¥Îphp¸}¥»©Masp¸}¥»¹ïuserªíªº¸ê®Æ¶i¦æ¥Ñsql server¨ìmysqlªº¾É¤J¨ä¶¡§Ú±Ä¥Î2ºØ¦^Áתº¤èªk¨ÓÁקKntext,imageÃþ«¬¸ê®Æªº¶Ç»¼¡A¤@ºØ¬O±NntextÄæ¦ì§ï¬°nvarchar(4000)¡A¦]¬°¹ê»Ú±¡ªp¡A­ì©l¸ê®Æ¤¤¸ÓÄæ¦ìªº¸ê®Æªø«×³£¥¼¶W¹L4000­Ó¦r¡A©Ò¥H¨Ã¨S¦³¥X²{¸ê®ÆºIÂ_¡A¥t¤@­Ó¤â¬q¬O±NimageÃþ«¬¸ê®Æ¨ú¥X¨Ó¼g¨ì¤å¥ó¤¤¡A¥H¤å¥ó§Î¦¡«O¦s¡A±N¤å¥ó¸ô®|¦s¨ì¸ê®Æ®w¤¤¡A¤èªk¨£¤U¡G
function makeattach(fileContentType,filevalue,i)
select case fileContentType
case "application/msword"
ext="doc"
case "application/vnd.ms-excel"
ext="exl"

case "application/vnd.ms-powerpoint"
ext="pps"

case "application/x-rar-compressed"
ext="rar"

case "application/x-zip-compressed"
ext="zip"

case "image/gif"
ext="gif"

case "image/pjpeg"
ext="jpg"

case "text/plain"
ext="txt"

case else
ext="x"

end select
if ext<>"x" then
set fso=server.createobject("FileSystemObject")
fName="attech"&i&"."&ext
Dir="d:\attach\"
If fso.FileExists(Dir & fName) Then fso.deletefile Dir & fName
If fName<>"" AND NOT fso.FileExists(Dir & fName) Then
Set strm1=Server.CreateObject("ADODB.Stream")
strm1.Open
strm1.Type=1 'Binary
strm1.Write filevalue
strm1.SaveToFile Dir & fName,2
Set strm1=Nothing
end if
makeattach=fName
end if
end function

³o­Ó¨ç¼Æ¦³3­Ó¿é¤J°Ñ¼Æ¡A²Ä¤@­Ó¬O¤å¥óªºcontentType¡A²Ä¤G­Ó¬O¤å¥óªº¤G¶i¦ì¼Æ¦r­È¡A²Ä¤T­Ó¬O­Ó¥i¥H°Ï§OÀɮצWªºÅܼơA¥ý®Ú¾ÚcontentType½T©w©Ò¦s¤å¥óªº§À½X¦W¡AµM«á´N¬O±N¤G¶i¦ì¼Æ¦r­È«O¦s¦¨«ü©wÀɮצWªº¤å¥ó¡A¨Ã±N¤å¥ó¦W§@¬°¿é¥X°Ñ¼Æªð¦^¡A±Nªð¦^ªº°Ñ¼Æ§@¬°¸ê®Æ¼g¨ìmysqlªº¸ê®Æ®w¤¤«O¦s¡C
®É¶¡¥^¦£¡A¥ýÁ`µ²¨ì³oùØ¡A§Æ±æ³o¨Ç¤å¦r¯à¹ï¦³»Ý­nªº¤H¦³¨ÇÀ°§U¡A¤Ö¨«¨ÇÅs¸ô¡A·PÁ±zªº¾\Ū¡C¡G¡^

_________________
#############################
§Ö¼Ö¶ý«}¨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§@