13-6 ������ MATLAB������������������������������������������

°£¤F¥i¥Hª½±µ¨Ï¥Î SQL ©R¥O¨Ó¹ï¸ê®Æ®w¶i¦æ­×§ï¥~¡AMATLABªº¸ê®Æ®w¤u¨ã½c¤]´£¨Ñ¤F¤@¨Ç«ü¥O¡A¨ã¦³Ãþ¦üªº­×§ï¥\¯à¡A¦¹§Y¬°¥»¤p¸`¤§­«ÂI¡C¨Æ¹ê¤W¡A³o¨Ç«ü¥O³Ì«á¤]¬O±N¬ÛÃö°Ê§@Âন SQL ©R¥O«á¡A¦b¸g¥Ñ ODBC °e¨ì¸ê®Æ®w°õ¦æ¡C¦]¦¹¦pªG§A¹ï SQL «Ü¼ô¡AÀ³¸Ó´Nª½±µ¨Ï¥Î«e¤@¸`´£¨ìªº¤èªk¡A·|¤ñ¸ûª½Ä±¤@¨Ç¡C

­Y­n·s¼W¸ê®Æ¡A¥i¥H¨Ï¥Î insert «ü¥O¡A½Ð¨£¤U¦C½d¨Ò ¡C

Example 1: 13-»P¸ê®Æ®wªº¾ã¦X/insertData02.mcopyfile('score01.mdb', 'score02.mdb'); % ±N score01.mdb «þ¨©¨ì score02.mdb dsn = 'dsnScore02'; % ³]©w¸ê®Æ¨Ó·½¦WºÙ¡]«ü¨ì score02.mdb¡^ logintimeout(5); % ³]©w¹Á¸Õ³sµ²¸ê®Æ®wªº®É¶¡ conn = database(dsn, '', ''); % ³sµ²¸ê®Æ®w exec(conn, 'DELETE * from score'); % ¥ý§R°£©Ò¦³ªº¸ê®Æ colNames={'studentId', 'studentName', 'overall'}; % ·s¼W¸ê®ÆªºÄæ¦ì¦WºÙ dataValues={'0001', '³¯¦¿§ø', 100}; % ·s¼W¸ê®Æ¹ïÀ³ªºÄæ¦ì­È insert(conn, 'score', colNames, dataValues); % ¥[¤J¤@µ§¸ê®Æ cursor = exec(conn, 'select * from score'); cursor = fetch(cursor); newScore = cursor.data % Åã¥Ü§ó·s«á final Äæ¦ìªº¸ê®Æ close(cursor); % µ²§ô cursor ª«¥ó close(conn); % µ²§ô¸ê®Æ®w³sµ²newScore = '0001' '³¯¦¿§ø' [0] [NaN] [NaN] [NaN] [0] [100]

¦b¤W­z½d¨Ò¤¤¡A§Ú­Ì¨Ï¥Î MATLAB ªº insert «ü¥O¨Ó·s¼W¤@µ§¸ê®Æ¡A¨ä¤¤ colNames «ü©w·s¼W¸ê®Æ©Ò¥Î¨ìªºÄæ¦ì¦WºÙ¡]¨S¦³«ü©wªºÄæ¦ì¦WºÙ·|¹ïÀ³¨ì¸ê®Æ®wªº¹w³]­È¡^¡A¦Ó dataValues «h¬O·s¸ê®Æ¹ïÀ³¨ì colNames ªºÄæ¦ì­È¡C¦pªG dataValues ¬O¤@­Ó¯x°}¡A¨º»ò insert ·|±N¨C¤@¦C·í¦¨¤@µ§¸ê®Æ¡A¦]¦¹¥i¥H¤@¦¸·s¼W¼Æµ§¸ê®Æ¡A½d¨Ò¦p¤U¡G

Example 2: 13-»P¸ê®Æ®wªº¾ã¦X/insertData03.mcopyfile('score01.mdb', 'score02.mdb'); % ±N score01.mdb «þ¨©¨ì score02.mdb dsn = 'dsnScore02'; % ³]©w¸ê®Æ¨Ó·½¦WºÙ¡]«ü¨ì score02.mdb¡^ logintimeout(5); % ³]©w¹Á¸Õ³sµ²¸ê®Æ®wªº®É¶¡ conn = database(dsn, '', ''); % ³sµ²¸ê®Æ®w exec(conn, 'DELETE * from score'); % ¥ý§R°£©Ò¦³ªº¸ê®Æ colNames={'studentId', 'studentName', 'overall'}; % ·s¼W¸ê®ÆªºÄæ¦ì¦WºÙ dataValues={'0001', '³¯¦¿§ø', 100; '0002', 'ªL¬F·½', 97}; % ·s¼W¸ê®Æ¹ïÀ³ªºÄæ¦ì­È insert(conn, 'score', colNames, dataValues); % ¥[¤J¨âµ§¸ê®Æ cursor = exec(conn, 'select * from score'); cursor = fetch(cursor); newScore = cursor.data % Åã¥Ü§ó·s«á final Äæ¦ìªº¸ê®Æ close(cursor); % µ²§ô cursor ª«¥ó close(conn); % µ²§ô¸ê®Æ®w³sµ²newScore = '0001' '³¯¦¿§ø' [0] [NaN] [NaN] [NaN] [0] [100] '0002' 'ªL¬F·½' [0] [NaN] [NaN] [NaN] [0] [ 97]

MATLAB ¤]´£¨Ñ¤F¤@­Ó update «ü¥O¡A¥i¥H§ó·s¸ê®Æ®w¤¤ªº¸ê®Æ¡A¦b¤U¦C½d¨Ò¤¤¡A­Y´Á¥½¦¨ÁZ¤j©ó©Îµ¥©ó80¤À¡A§Ú­Ìª½±µ±N¤§½Õ¾ã¬°100¤À¡G

Example 3: 13-»P¸ê®Æ®wªº¾ã¦X/updateData02.mcopyfile('score01.mdb', 'score02.mdb'); % ±N score01.mdb «þ¨©¨ì score02.mdb dsn = 'dsnScore02'; % ³]©w¸ê®Æ¨Ó·½¦WºÙ¡]«ü¨ì score02.mdb¡^ logintimeout(5); % ³]©w¹Á¸Õ³sµ²¸ê®Æ®wªº®É¶¡ conn = database(dsn, '', ''); % ³sµ²¸ê®Æ®w colNames={'final'}; % »Ý§ó·sªºÄæ¦ì dataValues={100}; % §ó·s«áªºÄæ¦ì­È update(conn, 'score', colNames, dataValues, 'where final>=80'); % ³]©w¶i¦æ¸ê®Æ¬d¸ßªº SQL ©R¥O sql = 'select studentName, final from score'; % ³]©w SQL ©R¥O cursor = exec(conn, sql); cursor = fetch(cursor); newScore = cursor.data % Åã¥Ü§ó·s«á final Äæ¦ìªº¸ê®Æ close(cursor); % µ²§ô cursor ª«¥ó close(conn); % µ²§ô¸ê®Æ®w³sµ²newScore = '³Å«ä¬°' [100] 'Á§³ÕÁ¾' [100] '¤ý»öã¸' [ 77] '³\»F­â' [ 78] '®}­Z­ì' [100] '§õ«T¤¯' [100] '³¯´¸' [ 79] 'Áéºú' [ 77] 'Á©ú®p' [ 77] 'Ĭª÷Às' [ 78] 'ù·çÅï' [ 77] 'ªL«C¼z' [100]

¦¹½d¨Ò©Ò±oªºµ²ªG©M insertData01.m §¹¥þ¬Û¦P¡A¦b¦¹¤£¦AÂØ­z¡C


MATLABµ{¦¡³]­p¡G¶i¶¥½g