C#項目實例中SQL查詢語句使用-創(chuàng)新互聯(lián)

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

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、永昌ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的永昌網(wǎng)站制作公司

C#中使用 SQL語句
    首先注意兩點:

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

結(jié)合以上兩點、在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.在需要使用變量的位置,用(兩個雙引號)將這句話分開。

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

兩個雙引號之中的字符都被程序認(rèn)定為字符串不參與任何計算或是程序的執(zhí)行。僅僅是字符串。而加號是連接兩個字符串的定界符。
比如 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ù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞標(biāo)題:C#項目實例中SQL查詢語句使用-創(chuàng)新互聯(lián)
地址分享:http://bm7419.com/article18/didigp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、靜態(tài)網(wǎng)站、網(wǎng)頁設(shè)計公司、品牌網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名