.NET³ÌÐò·À·¶SQL×¢Èëʽ¹¥»÷µÄ·½·¨
¡¡¡¡Ò»¡¢Ê²Ã´ÊÇSQL×¢Èëʽ¹¥»÷?
¡¡¡¡ËùνSQL×¢Èëʽ¹¥»÷£¬¾ÍÊǹ¥»÷Õß°ÑSQLÃüÁî²åÈëµ½Web±íµ¥µÄÊäÈëÓò»òÒ³ÃæÇëÇóµÄ²éѯ×Ö·û´®£¬ÆÛÆ·þÎñÆ÷Ö´ÐжñÒâµÄSQLÃüÁî¡£ÔÚijЩ±íµ¥ÖУ¬Óû§ÊäÈëµÄÄÚÈÝÖ±½ÓÓÃÀ´¹¹Ôì(»òÕßÓ°Ïì)¶¯Ì¬SQLÃüÁ»ò×÷Ϊ´æ´¢¹ý³ÌµÄÊäÈë²ÎÊý£¬ÕâÀà±íµ¥ÌرðÈÝÒ×Êܵ½SQL×¢Èëʽ¹¥»÷¡£³£¼ûµÄSQL×¢Èëʽ¹¥»÷¹ý³ÌÀàÈ磺
¡¡¡¡¢Å ij¸öASP.NET WebÓ¦ÓÃÓÐÒ»¸öµÇÂ¼Ò³Ãæ£¬Õâ¸öµÇÂ¼Ò³Ãæ¿ØÖÆ×ÅÓû§ÊÇ·ñÓÐȨ·ÃÎÊÓ¦Óã¬ËüÒªÇóÓû§ÊäÈëÒ»¸öÃû³ÆºÍÃÜÂë¡£
¡¡¡¡¢Æ µÇÂ¼Ò³ÃæÖÐÊäÈëµÄÄÚÈݽ«Ö±½ÓÓÃÀ´¹¹Ô춯̬µÄSQLÃüÁ»òÕßÖ±½ÓÓÃ×÷´æ´¢¹ý³ÌµÄ²ÎÊý¡£ÏÂÃæÊÇASP.NETÓ¦Óù¹Ôì²éѯµÄÒ»¸öÀý×Ó£º
¡¡¡¡System.Text.StringBuilder query = new System.Text.StringBuilder("SELECT * from Users WHERE login = ’")¡£Append(txtLogin.Text)¡£Append("’ AND password=’")¡£Append(txtPassword.Text)¡£Append("’");
¡¡¡¡¢Ç ¹¥»÷ÕßÔÚÓû§Ãû×ÖºÍÃÜÂëÊäÈë¿òÖÐÊäÈë"’»ò’1’=’1"Ö®ÀàµÄÄÚÈÝ¡£
¡¡¡¡¢È Óû§ÊäÈëµÄÄÚÈÝÌá½»¸ø·þÎñÆ÷Ö®ºó£¬·þÎñÆ÷ÔËÐÐÉÏÃæµÄASP.NET´úÂë¹¹Ôì³ö²éѯÓû§µÄSQLÃüÁµ«ÓÉÓÚ¹¥»÷ÕßÊäÈëµÄÄÚÈݷdz£ÌØÊ⣬ËùÒÔ×îºóµÃµ½µÄSQLÃüÁî±ä³É£ºSELECT * from Users WHERE login = ’’ or ’1’=’1’ AND password = ’’ or ’1’=’1’.
¡¡¡¡¢É ·þÎñÆ÷Ö´Ðвéѯ»ò´æ´¢¹ý³Ì£¬½«Óû§ÊäÈëµÄÉí·ÝÐÅÏ¢ºÍ·þÎñÆ÷Öб£´æµÄÉí·ÝÐÅÏ¢½øÐжԱȡ£
¡¡¡¡¢Ê ÓÉÓÚSQLÃüÁîʵ¼ÊÉÏÒѱ»×¢Èëʽ¹¥»÷Ð޸ģ¬ÒѾ²»ÄÜÕæÕýÑéÖ¤Óû§Éí·Ý£¬ËùÒÔϵͳ»á´íÎóµØÊÚȨ¸ø¹¥»÷Õß¡£
¡¡¡¡Èç¹û¹¥»÷ÕßÖªµÀÓ¦ÓûὫ±íµ¥ÖÐÊäÈëµÄÄÚÈÝÖ±½ÓÓÃÓÚÑéÖ¤Éí·ÝµÄ²éѯ£¬Ëû¾Í»á³¢ÊÔÊäÈëÄ³Ð©ÌØÊâµÄSQL×Ö·û´®´Û¸Ä²éѯ¸Ä±äÆäÔÀ´µÄ¹¦ÄÜ£¬ÆÛÆÏµÍ³ÊÚÓè·ÃÎÊȨÏÞ¡£
¡¡¡¡ÏµÍ³»·¾³²»Í¬£¬¹¥»÷Õß¿ÉÄÜÔì³ÉµÄËðº¦Ò²²»Í¬£¬ÕâÖ÷ÒªÓÉÓ¦Ó÷ÃÎÊÊý¾Ý¿âµÄ°²È«È¨ÏÞ¾ö¶¨¡£Èç¹ûÓû§µÄÕÊ»§¾ßÓйÜÀíÔ±»òÆäËû±È½Ï¸ß¼¶µÄȨÏÞ£¬¹¥»÷Õ߾ͿÉÄܶÔÊý¾Ý¿âµÄ±íÖ´Ðи÷ÖÖËûÏëÒª×öµÄ²Ù×÷£¬°üÀ¨Ìí¼Ó¡¢É¾³ý»ò¸üÐÂÊý¾Ý£¬ÉõÖÁ¿ÉÄÜÖ±½Óɾ³ý±í¡£
¡¡¡¡¶þ¡¢ÈçºÎ·À·¶?
¡¡¡¡ºÃÔÚÒª·ÀÖ¹ASP.NETÓ¦Óñ»SQL×¢Èëʽ¹¥»÷´³Èë²¢²»ÊÇÒ»¼þÌØ±ðÀ§ÄѵÄÊÂÇ飬ֻҪÔÚÀûÓÃ±íµ¥ÊäÈëµÄÄÚÈݹ¹ÔìSQLÃüÁî֮ǰ£¬°ÑËùÓÐÊäÈëÄÚÈݹýÂËÒ»·¬¾Í¿ÉÒÔÁË¡£¹ýÂËÊäÈëÄÚÈÝ¿ÉÒÔ°´¶àÖÖ·½Ê½½øÐС£
¡¡¡¡¢Å ¶ÔÓÚ¶¯Ì¬¹¹ÔìSQL²éѯµÄ³¡ºÏ£¬¿ÉÒÔʹÓÃÏÂÃæµÄ¼¼Êõ£º
¡¡¡¡µÚÒ»£ºÌæ»»µ¥Òýº
Ïà¹ØÎĵµ£º
Èç¹û£¬ÏÖÔÚÓÐÁ½ÕűíA(id,xx.xx...),C(id,Cid,xx,xx...)£¬Ô¤ÊµÏÖCÖеÄidÓëA ÖÐid¼¶ÁªÉ¾³ý¡¢¼¶Áª¸üÐÂ/Êý¾Ýͬ²½£¬¿ÉÓÐÁ½ÖÖʵÏÖ·½Ê½£º
Ò».
ÀûÓÃsql server×Ô´øµÄ¼¶ÁªÉ¾³ý¡¢¼¶Áª¸üй¦ÄÜ£¬¼´ÆäÍâ¼üÔ¼ÊøÍ¾¾¶
alter table dbo.C
add constraint FK_C_A_AID
foreign key(AID) references dbo.A(AID)
on delet ......
°¥£¬»¹ÊÇÉÏÖܵÄÊÂÇéÁË£¬csdnµÄ²©¿Í×î½üÕ¦ÀÏÊÇ´ò²»¿ªÄØ£¡
»ù±¾Óï¾ä£ºAlter table ±íÃû drop Column ×Ö¶ÎÃû
Áíµ¥µ¥ÊÇÕâÑùÊDz»ÐеΣ¬»¹ÒªÉ¾³ý¶ÔÓ¦µÄ¹ØÏµµÎ¡£ÏÂÃæ¾Í°Ñ²éÕÒµ½µÄÄÇÆªÎÄÕÂÒýÓÃϰɣ¡
ÔÎĵØÖ·£ºhttp://hi.baidu.com/lisky119/blog/item/3c348c082573949c0a7b82d1.html
SET ANSI_NULLS ON
GO
SET QUOTED_IDENT ......
ÈôÒªÊÕËõÌØ¶¨Êý¾Ý¿âµÄËùÓÐÊý¾ÝºÍÈÕÖ¾Îļþ£¬ÇëÖ´ÐÐ DBCC SHRINKDATABASE ÃüÁî¡£ÈôÒªÒ»´ÎÊÕËõÒ»¸öÌØ¶¨Êý¾Ý¿âÖеÄÒ»¸öÊý¾Ý»òÈÕÖ¾Îļþ£¬ÇëÖ´ÐÐ DBCC SHRINKFILE
ÃüÁî¡£
ÈôÒª²é¿´Êý¾Ý¿âÖе±Ç°µÄ¿ÉÓã¨Î´·ÖÅ䣩¿Õ¼äÁ¿£¬ÇëÔËÐÐ sp_spaceused
¡£
¿ÉÔÚ½ø³ÌÖеÄÈÎÒ»µãÍ£Ö¹ DBCC SHRINKDATABASE ²Ù×÷£¬ÈκÎÒÑÍê³ÉµÄ¹¤×÷¶¼½«±£Áô¡£ ......
SQL Server Êý¾Ý¿âµÄÕûÀíÓÅ»¯µÄ»ù±¾¹ý³Ì£¨Ò»£©
¸ß½¨¸Õ
×÷ΪϵͳµÄÖØÒªÒ»¸ö²¿·Ö£¬Êý¾Ý¿âµÄÐÔÄÜÔÚϵͳµÄÔËÐйý³ÌÖÐÆðµ½Á˷dz£¹Ø¼üµÄ×÷Óã¬ÏµÍ³µÄÔËÐйý³ÌÖУ¬ÎÒÃǾ³£Óöµ½¿Í»§±§Ô¹ÏµÍ³ÔËÐеÄÌ«Âý£¬Í³¼ÆÒ»¸öÔµı¨±í¾³£»á³öÏÖ³¬Ê±µÄÇé¿ö£¬Ãæ¶ÔÕâЩÎÊÌ⣬ÎÒÃÇÓ¦¸ÃÈçºÎ´¦ÀíÄÄ£¿³ÌÐòÓÅ»¯ºÍÊý¾Ý¿âÓÅ»¯ÒªÍ¬²½½øÐУ¬³ÌÐò·½ÃæÓ ......
1. select top pageSize
* from table where id not in(select top((pageNo-1)*pageSize
) id from table order by id asc)
2. select * from table where id<=pageSize*pageNo
and id>(pageNo-1)*pageSize
order by id asc
×¢£º
pagesizeÿҳÏÔʾµÄ¼Ç¼Êý
pageNoµ±Ç°µÚ¼¸Ò³
......