真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#項(xiàng)目實(shí)例中SQL查詢語句使用

   以下是學(xué)習(xí)中小結(jié),若有幸被大俠看到,文章中的錯(cuò)誤還望不吝賜教。。。。C#項(xiàng)目實(shí)例中SQL查詢語句使用

創(chuàng)新互聯(lián)建站是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號開發(fā),軟件開發(fā),小程序開發(fā),十余年建站對成都玻璃隔斷等多個(gè)行業(yè),擁有豐富的網(wǎng)站維護(hù)經(jīng)驗(yàn)。

C#中使用 SQL語句
    首先注意兩點(diǎn):

    第一、語句的構(gòu)造是否正確, 第二、與程序交互時(shí),使用到的一些變量
1. 在sql語句中。 如果某個(gè)字段的數(shù)據(jù)類型不為數(shù)字形式,那么在sql語句中,如條件判斷...都需要用到(兩個(gè)單引號)將數(shù)據(jù) 括起來; 例如:    
 表[student]     id(自動(dòng)編號)  uID(學(xué)號)  uName(學(xué)生姓名) 
-->查詢(名字是李世民的學(xué)生信息) :
select uID, uName FROM student WHERE uName = '李世民'    
2.在C#中,string 類型的變量需要使用(兩個(gè)雙引號) “” 括起來

結(jié)合以上兩點(diǎn)、在c#中拼湊SQL查詢語句你就可以這樣使用
string  str_Sql = " SELECT uID, uName FROM student WHERE uName ='李世民'";

---------------------------------------------------------------------------
1.首先把你的SQL語句構(gòu)造好。  不要先加變量
string  str_Sql = " SELECT uID, uName FROM student WHERE uName = ' "+  +" '  " ;
2.在需要使用變量的位置,用(兩個(gè)雙引號)將這句話分開。

  現(xiàn)在它只不過是字符串而已;
  在這其中,你可以看出來,where后加入的兩個(gè)雙引號,一個(gè)是用來結(jié)束,與最開頭的雙引號對應(yīng)。
  ---->在c#語句中。使用兩個(gè)雙引號 將字符串括起來。注意一定要成對
  ---->連接兩個(gè)字符串所有的操作符是 + 號     
---------------------------------------------------------
string str_Sql =" SELECT uID, uName FROM student WHERE uName = '  "+變量 +"  '  " ;
總結(jié):雙引號" 和加號 + 是C#中的定界符.

兩個(gè)雙引號之中的字符都被程序認(rèn)定為字符串不參與任何計(jì)算或是程序的執(zhí)行。僅僅是字符串。而加號是連接兩個(gè)字符串的定界符。  
比如 string str_Print = "我是" + "天下第一"; 

 變量 str_Print的值為  我是天下第一
  單引號'是SQL語句中對數(shù)據(jù)類型為字符類型的字段使用的nvarchar  ntext   nchar  。。。

----------------------------------------------------------------------------------------

//some 查詢語句

string sql= string.Format("select * from UserInfo where Uname='{0}'and UPwd='{1}'and UState='{2}'", this.txtName.Text.Trim(),this.txtPwd.Text.Trim(),num);

------------------

//定義sql語句
string sql="select * from BookInfo where BookType='"+booktype+"' "+cbo1+" BookName like '%" +bookname+"%' "+cbo2+" BookContent like '%"+bookcontent+"%'";

---------------------------------

string sql=string.Format(insert into BookInfo values('{0}' , '{1}' ,'{2}' ,'{3}' ,'{4}' ,'{5}' ,'{6}'  ", booktype,bookauthor,bookpic,bookprice,bookcontent,bookissue );

-------------------------------------------------------

(1)拼接產(chǎn)生SQL語句: 

以下是代碼片段:
string sql = "insert into czyb(yhm,mm,qx) values('" + txtName.Text + "','" + txtPassword.Text + "','" + cmbPriority.Text + "')"; 
  OleDbCommand cmd = new OleDbCommand(sql, conn);

這種方法寫法比較復(fù)雜,且安全性低,容易遭受SQL注入***。

(2)用string.Format方法: 

以下是代碼片段:
string sql = string.Format("insert into czyb(yhm,mm,qx) values('{0}','{1}','{2}')", txtName.Text, txtPassword.Text, cmbPriority.Text);

(3)用參數(shù)化SQL語句: 

以下是代碼片段:
string sql="insert into czyb(yhm,mm,qx) values (@yhm,@mm,@qx)"; 
  OleDbCommand cmd = new OleDbCommand(); 
  cmd.CommandText = sql; 
  cmd.Parameters.AddWithValue("@yhm", txtName.Text); 
  cmd.Parameters.AddWithValue("@mm", txtPassword.Text); 
  cmd.Parameters.AddWithValue("@qx", cmbPriority.Text); 
  cmd.Connection = conn; 
  conn.Open(); 
  cmd.ExecuteNonQuery();

 代碼結(jié)構(gòu)清楚,對于不支持存儲過程的數(shù)據(jù)庫(如Access),推薦采用本方法。

(4)如果數(shù)據(jù)庫支持存儲過程(如SQL Server),可以調(diào)用存儲過程執(zhí)行SQL: 

以下是代碼片段:
SqlConnection conn = new SqlConnection(txtConn); 
  SqlCommand cmd = new SqlCommand("SearchContact", conn); //存儲過程名稱為SearchContact 
  cmd.CommandType = CommandType.StoredProcedure; 
  cmd.Parameters.Add("@name", SqlDbType.VarChar, 50); //傳入?yún)?shù) 
  cmd.Parameters["@name"].Value = txtName.Text.Trim();

由于存儲過程是數(shù)據(jù)庫預(yù)編譯的,執(zhí)行效率高,推薦采用。

 


網(wǎng)頁標(biāo)題:C#項(xiàng)目實(shí)例中SQL查詢語句使用
文章出自:http://weahome.cn/article/pjhhsp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部