·ÀÖ¹SQL×¢Èë
ÔÎĵØÖ·:http://hi.baidu.com/%BC%D9%BA%EC%D2%B6%CE%E8%CE%F7%B7%E7/blog/item/81f35da209e287abcbefd005.html
1. ʲôÊÇSQL×¢Èë
ËùνSQL×¢È룬¾ÍÊÇͨ¹ý°ÑSQLÃüÁî²åÈëµ½Web±íµ¥µÝ½»»òÊäÈëÓòÃû»òÒ³ÃæÇëÇóµÄ²éѯ×Ö·û´®£¬×îÖÕ´ïµ½ÆÛÆ·þÎñÆ÷Ö´ÐжñÒâµÄSQLÃüÁͨ¹ýµÝ½»²ÎÊý¹¹ÔìÇÉÃîµÄSQLÓï¾ä£¬´Ó¶ø³É¹¦»ñÈ¡ÏëÒªµÄÊý¾Ý¡£
2. SQL×¢ÈëµÄÖÖÀà
´Ó¾ßÌå¶øÑÔ£¬SQL×¢Èë¿É·ÖΪÎå´óÀ࣬·Ö±ðÊÇ£ºÊý×ÖÐÍ×¢Èë¡¢×Ö·ûÐÍ×¢Èë¡¢ËÑË÷ÐÍ×¢È루like£©¡¢inÐ͵Ä×¢Èë¡¢¾äÓïÁ¬½ÓÐÍ×¢Èë¡£´ÓÓ¦ÓÃÀ´Ëµ£¬ÒªÌرð×¢ÒâIP¡¢ËÑË÷¡¢ÅúÁ¿É¾³ý¡¢´ÓÊý¾Ý¿âתµ½Êý¾Ý¿âµÈµØ·½µÄSQL×¢Èë¡£
3. ÈçºÎ·ÀÖ¹SQL×¢Èë
3.1 SQL×¢Èë²úÉúµÄÔÒò
¿´ÏÂÃæ¼ì²éµÇ½µÄSQLÓï¾ä£º
SQL´úÂë
SqlCommand cmd = new SqlCommand("SELECT * from PE_USERS WHERE UserName = '"
+ UserName + "' AND UserPassword = '" + PassWord + "'", conn);
ÓÉÓÚûÓжÔUserNameºÍPassWord½øÐÐÈκÎÑéÖ¤£¬Èç¹ûUserName=” admin’ OR 1=1--“
ËùÖ´ÐеÄSQLÓï¾ä¾Í³ÉÁË£º
SQL´úÂë
SELECT * from PE_USERS WHERE UserName=’admin’ OR 1=1—‘ AND UserPassword=’’
Õâ¾ÍÔì³ÉÁËSQL×¢È룬Ìõ¼þÓÀÔ¶ÎªÕæ£¬Ò²¾Í²»ÓÃÃÜÂëÒ²Äܵǽ³É¹¦¡£
3.2Ö÷Òª·ÀÓù·½Ê½
·ÀÓùÊÖ¶ÎÒ»:²ÎÊý»¯²éѯ
±£»¤¼¶±ð£º¡ï¡ï¡ï¡ï¡ï
ÃèÊö:
ʹÓòÎÊý»¯²éѯµÄºÃ´¦£º¿ÉÒÔ·ÀÖ¹sql×¢Èëʽ¹¥»÷£¬Ìá¸ß³ÌÐòÖ´ÐÐЧÂÊ¡£
ÀýÈç:
SQL´úÂë
const string strSql = "SELECT * from [PE_Users] WHERE UserName = @UserName";
Parameters parms = new Parameters("@UserName", DbType.String, userName);
ÖÐÓÐÒ»¸ö²ÎÊý@UserName, ʹÓÃPrarmeter¶ÔÏó£¬Í¨¹ýËü°Ñ²ÎÊýÌí¼Óµ½Command¶ÔÏóÉÏ£¬
ÕâÑù¾Í»ñµÃ²ÎÊý»¯²éѯ¡£
14
14 °²È«¿ª·¢ÊÖ²á
ÈçÉÏÊöÓï¾ä,ADO.NET »áÏòSQL Server ·¢ËÍÏÂÃæµÄSQLÓï¾ä:
SQL´úÂë
Exec sp_executesql N ‘select * from [pe_users] where username=@username ‘,N
‘@username nvarchar(20) ‘,@username=N ‘name’
SQL Server °Ñ@username Ìæ»»³É×Ö·û´®”name”,È»ºóÔÙÖ´Ðвéѯ.
¼ÙÉèÓÐÏÂÃæµÄÊäÈë:
SQL´úÂë
‘ union select @@version,null,null—
Éú³ÉµÄSQLÓï¾äÈçÏÂËùʾ:
SQL´úÂë
Exec sp_executesql N ‘select * from [pe_users] where username=@username &
Ïà¹ØÎĵµ£º
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......
Éè¼ÆÔÔò
·ûºÅÈý´ó·¶Ê½£¨Ã¿Ò»Áбí´ïÒ»¸öÒâ˼£¬Ã¿Ò»Ðдú±íÒ»¸öʵÀý/ÿһÐÐÓÐΨһ¼ü/±íÄÚûÓÐÆäËü±íµÄ·ÇÖ÷¼üÐÅÏ¢£©
ÿ¸ö±íÓ¦¸ÃÓеÄ3¸öÓÐÓÃ×ֶΣ¨¼Ç¼´´½¨»ò¸üÐÂʱ¼ä/¼Ç¼´´½¨Õß/¼Ç¼°æ±¾£©
±ÜÃâ±£Áô×Ö
±íÓ¦±ÜÃâ¿ÉΪ¿ÕµÄÁÐ
ÃüÃû¹æ·¶
±í
±íÃûÈçOr ......
SQL Server 2000ÖУ¬insertÊý¾ÝµÄʱºò·µ»Ø×Ô¶¯±àºÅµÄid£¬ÓÐÈýÖÖ·½·¨ÊµÏÖSCOPE_IDENTITY¡¢IDENT_CURRENT ºÍ @@IDENTITY£¬ËüÃǶ¼·µ»Ø²åÈëµ½ IDENTITY ÁÐÖеÄÖµ¡£
IDENT_CURRENT £º·µ»ØÎªÈκλỰºÍÈκÎ×÷ÓÃÓòÖеÄÌØ¶¨±í×îºóÉú³ÉµÄ±êʶֵ¡£IDENT_CURRENT ²»ÊÜ×÷ÓÃÓòºÍ»á»°µÄÏÞÖÆ£¬¶øÊÜÏÞÓÚÖ¸¶¨µÄ±í¡£IDENT_CURRENT ·µ»ØÎªÈÎ ......
Case¾ßÓÐÁ½ÖÖ¸ñʽ¡£¼òµ¥Caseº¯ÊýºÍCaseËÑË÷º¯Êý¡£
--¼òµ¥Caseº¯Êý
CASE sex
WHEN '1' THEN 'ÄÐ'
WHEN '2' THEN 'Å®'
ELSE 'ÆäËû' END
--CaseËÑË÷º¯Êý
CASE WHEN sex = '1' THEN 'ÄÐ'
&nbs ......
PL/SQL DEVELOPER »ù±¾Ó÷¨Ïê½â(½¨Òéд¹ýµÚÒ»¸ö´æ´¢¹ý³ÌºóµÄ³õÊֱضÁ)
ÓùýoracleµÄ¶¼±§Ô¹£¬ÎªÁËÎȶ¨ ËüÌṩµÄͼÐλ¯²Ù×÷ ËÙ¶ÈÂýµÄÈÃÈËÉËÐÄѽ£¬p4+128MµÄ»úÆ÷Ö»ÒªÆô¶¯Ò»¸ö
oracle·þÎñ¾Í¹»ÈÃÈËÉËÐĵģ¬ÔÙÔÚdba studioÀïÃæ²Ù×÷ÕæÄÜÈÃÈ˿ޡ£
pl/sql developerÕýÊǽâ¾öÕâ¸öÎÊÌâµ ......