QQ交流群:13033480
【品名】妻子
【俗稱】媳婦兒
【通用名】老婆
【英文名】wife
【化學名稱】已婚女性
【成分】水、蛋白質、脂肪、核糖核酸、碳水化合物以及少量礦物質,氣味幽香。
【理化性質】酸性;可分為一價(嫁)、二價(嫁)、三價(嫁)……n價(嫁)。易溶於密語、甜言;遇鑽石、名車、豪宅熔點降低,難溶於白丁。
【性狀】本品為可樂狀凹凸異性片,表面光潔,塗有各種化妝品、對鑽石、鉑金有強烈的親和力;害羞時泛紅,生氣時泛綠,隨時間推移表面會出現黃斑,起皺,但不影響繼續使用。
【功能主治】主治單身恐懼症,對失戀者和相思病有明顯效果,亦可用於燒淘洗買、帶孩子。
【副作用】氣管炎、耳根軟、視疲勞、行為受阻等。嚴重不良反應者,可致皮肉損傷。
【用法用量】一生一片。
【禁忌症】公開服用兩片或兩片以上
【注意事項】
1、腎功能不全者慎用
2、請控制每日用量,如身體出現不適應症狀應適當控制頻次;
3、服用本品時如同時服用其他葯品請咨詢生產企業,否則后果自負;
【規格】幾十千克志幾百千克,片重超標不影響使用,一般以45kg為最佳。
【貯藏】常溫下保存。避免與成年女性、單獨帥哥相處。嚴禁在外過夜,應放到男人不易接觸到的位置保存。
【包裝】各種時裝、鞋帽、首飾、手袋,隨季節變化更換。
【有效期】終生有效。
【批准文號】見鑽石購買發票號碼
【生產日期】同身份證出生年月日
【生產企業】岳父岳母(僅針對於岳父岳母作風正派)。
本產品質量三包,如出現質量問題請與當地民政局聯系。
這是網上非常熱的一個博文,看完以后,我拍案驚起,這TMD才是真正的面向對象的思想嘛......
這,才是真正地“搞對象”嘛......
人家敢於面對、勇於面對、以娛樂的精神面對慘淡的對象嘛......
人家知道,搞對象,最重要的,是把對象干什么用的先搞清楚嘛......
人家知道,先把對象玩爛了,就沒有搞不好的對象嘛......
我絕對想象不出來,不遠的將來,這個對象,不能給他創造個人“類”出來....
我想,作者這家伙,不學編程,那是相當的可惜了…
前面注冊的代碼,很多網友看后都生氣了,后果很嚴重,都急吼吼地要來Sql注入了。
很多小盆友,包括本大人,N小時前,也不知道還有注入一說。感謝網友們的不吝賜教,本大人現學現賣,科普一下吧,講最簡單的,你在用戶名文本框中輸入1' or '1'='1 ,密碼隨意,所謂的登錄系統,就形同虛設……
解決這個問題的方法有很多,其中,一個重要的方法,就是參數化查詢。
參數化查詢就是在訪問數據庫時,在需要填入數值或數據的地方,使用參數 (Parameter類) 來給值。在使用參數化查詢的情況下,數據庫服務器不會將參數的內容視為SQL指令的一部份來處理,而是在數據庫完成SQL指令的編譯后,才套用參數運行,因此就算參數中含有指令,也不會被數據庫運行。
Parameter這么厲害?想不想討來做老婆?幫你看看家門,河東獅吼,嚇退十萬注入客??
還是讓我們先附庸風雅,寫一個SqlParameter使用說明書吧:
【家住何方(程序集名稱)】system.data.dll
【姓甚(命名空間)】System.Data.SqlClient
【名誰(名稱)】SqlParameter
【祖父母】System.Object
【父母】System.MarshalByRefObject
【主要功能】可單獨或做成數組,存放、傳遞SqlCommand的參數或參數組,當然是防止駭客Sql注入
【主要缺點】不能生育,無法繼承此類
【備注】參數名稱不區分大小寫
【生產日期】new的那一刻
【有效期】招之即來,揮之即去,用完自動消失
【使用方法】參考下面示例程序
protected void btnRegist_Click(object sender, EventArgs e) { string strConnection = ConfigurationManager.ConnectionStrings["NetShopConnString"].ConnectionString; string cmdText = "INSERT INTO Users(Username,Password,Name,Sex,Age,Phone,Email,QQ) values(@Username,@Password,@Name,@Sex,@Age,@Phone,@Email,@QQ)"; string username = txtUserName.Text; string password = txtPassword.Text; string name = txtName.Text; string sex = radlSex.SelectedValue; int age = int.Parse(txtAge.Text); string phone = txtPhone.Text; string email = txtEmail.Text; string qq = txtQQ.Text; SqlParameter[] parms ={ new SqlParameter("@UserName", SqlDbType.VarChar, 20), new SqlParameter("@Password", SqlDbType.VarChar, 20), new SqlParameter("@Name", SqlDbType.VarChar, 20), new SqlParameter("@Sex", SqlDbType.VarChar, 2), new SqlParameter("@Age", SqlDbType.Int), new SqlParameter("@Phone", SqlDbType.VarChar, 20), new SqlParameter("@Email", SqlDbType.VarChar, 50), new SqlParameter("@QQ", SqlDbType.VarChar, 20)}; parms[0].Value = username; parms[1].Value = password; parms[2].Value = name; parms[3].Value = sex; parms[4].Value = age; parms[5].Value = phone; parms[6].Value = email; parms[7].Value = qq; SqlCommand cmd = new SqlCommand(); SqlConnection conn = new SqlConnection(strConnection); try { if (conn.State != ConnectionState.Open) conn.Open(); cmd.Connection = conn; cmd.CommandType = CommandType.Text; cmd.CommandText = cmdText; foreach (SqlParameter parm in parms) cmd.Parameters.Add(parm); cmd.ExecuteNonQuery(); } catch { Response.Redirect("ErrorMessage.aspx"); } finally { conn.Close(); } Response.Redirect("Login.aspx"); }
這段代碼,使用邏輯,您熟悉吧?
實現邏輯,就一句話,把注冊界面輸入的參數接收下來,插入到數據庫的表格Users中,然后跳轉到登錄界面;
除了SqlParameter類,沒發現太陌生的面孔吧?
認識、熟悉、掌握和使用一個類,最主要的,就是掌握這個類是干什么的,和怎么使用,而這兩點中,類是干什么的,又是最最重要的,當你知道這個類是干什么的時候,怎么使用,往往就是不言而喻了…
聲明一點吧:現在這段代碼,因為主要是學習最基本的數據庫訪問技術,所在,在界面上能省即省,沒有加驗證控件,大家拍磚,別往這兒拍哈……