1. 程式人生 > >SQL語句裡面煩人的引號,看完還不懂罵我!!

SQL語句裡面煩人的引號,看完還不懂罵我!!

現在在做一個人事工資管理系統,採用C#+SQL Server2008實現,在看到很多SQL語句後很不解,查到資料如下:

     string str =//建立查詢字串
                "select ID as '編號',employeeID as '員工編號',employeeName as '員工姓名',employeeSex as '員工性別',employeeDept as '所屬部門',employeeBirthday as '員工生日',employeeNation as '民族',employeeMarriage as '婚姻狀況',employeeDuty as '擔任職務',employeePhone as '聯絡電話',employeeAccession as '就職日期' from tb_employee where employeeName like '%"+toolStripTextBox1.Text.Trim()+"%'";

在這段程式碼中,用萬用字元%進行查詢,%叫做萬用字元,代表任何字元任意數量

如'%a%'就代表一個字串只要包含字母a就符合條件

'%a'則代表一個字串需要以字母a結尾才符合條件
'a%'就是以a開頭的字串了
     但是這一句, "select * from tb_employee where employeeID=' " + ygname + " ' ", conn);,相信很多新手就會迷惑,咋又是雙引號又是單引號呢?在網上查詢資料,加上自己的理解,應該是這樣:
首先,這段話是放在VS2010的C#程式裡面的,原始碼為:string adc="select * from tb_employee where employeeID=' " + ygname + " ' ",也就是說,這句話是字串,它是拼接的,我們把它分開看,是3個部分,第一:
"select * from tb_employee where employeeID=' " ,第二:ygname。第三:" ' ",當把ygname替換成字串後,整個語句變為:select * from tb_employee where employeeID='ygname',注意這個時候ygname是字串,不是字元變數,而單引號‘’在SQL語句的作用是標識字串的,這下懂了吧。