如何處理C#向SQLServer中插入記錄時(shí)的單引號問題

這篇文章主要介紹了如何處理C#向SQL Server中插入記錄時(shí)的單引號問題,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

10年的江海網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整江海建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“江海網(wǎng)站設(shè)計(jì)”,“江海網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

asp.net中使用c#, 向coredb.mybbs表中插入記錄值(title, content)【文章的標(biāo)題和內(nèi)容】,由于content, title中可能包含單引號,直接使用sql的insert命令會報(bào)錯(cuò),對此有兩種處理方法,一種將單引號替換成兩個(gè)單引號,第2種方法是使用存儲過程。

表mybbs的格式定義如下:

create table [dbo].[mybbs] (   [id] [bigint] identity (1, 1) not null ,   [title] [char] (160) collate chinese_prc_ci_as null ,   [author] [char] (20) collate chinese_prc_ci_as null ,   [date_of_created] [datetime] null ,   [abstract] [char] (480) collate chinese_prc_ci_as null ,   [content] [ntext] collate chinese_prc_ci_as not null   ) on [primary] textimage_on [primary]

1、C#向Sql Server中插入記錄時(shí)單引好問題處理方法之一:將單引號用兩個(gè)單引號替換:

sqlconnection coredb=new sqlconnection();   coredb.connectionstring= "workstation id=\"gqa-eric-lv\";packet size=4096;integrated security=sspi;" +   "data source=\"gqa-eric-lv\";persist security info=false;initial catalog=coredb";    //單引號用""替換,以插入到sql server中;   string title=textbox1.text.replace("","");   string content=textbox2.text.replace("","");   if(title.trim()==""||content.trim()=="")return;   string insertcmd =@"insert into mybbs (title,content) values("+ title + "," +content+")";    sqlcommand mycommand = new sqlcommand(insertcmd,coredb);   coredb.open();   sqldatareader myreader = mycommand.executereader();   myreader.close();   coredb.close();

2、C#向Sql Server中插入記錄時(shí)單引好問題處理方法之二:使用存儲過程來插入

1) 創(chuàng)建存儲過程:

create proc insertmybbsproc(@title char(160), @author char(20), @content ntext)   as   insert into mybbs(title,author,content) values(@title, @author, @content)

2) 查詢分析器中測試存儲過程:

declare @title char(160)   declare @author char(20)   declare @content char(600)   set @title=test title 3   set @author=david euler 3   set @content=it is the content 3   exec insertmybbsproc @title, @author, @content

3) c#中通過sqlcommand執(zhí)行存儲過程:

sqlconnection coredb=new sqlconnection();   coredb.connectionstring= "workstation id=\"gqa-eric-lv\";packet size=4096;integrated security=sspi;" +   "data source=\"gqa-eric-lv\";persist security info=false;initial catalog=coredb";    string title=textbox1.text;   string content=textbox2.text;    if(title.trim()==""||content.trim()=="")return;    //insertmybbsproc是向mybbs中插入數(shù)據(jù)的procedure:   sqlcommand insertcmd = new sqlcommand("insertmybbsproc",coredb);    insertcmd.commandtype=commandtype.storedprocedure;//命令類型為存儲過程;下面定義參數(shù)對象:   sqlparameter prm1=new sqlparameter("@title", sqldbtype.char,160);   sqlparameter prm2=new sqlparameter("@author", sqldbtype.char,20);   sqlparameter prm3=new sqlparameter("@content",sqldbtype.ntext,1073741823);   prm1.direction=parameterdirection.input;   prm2.direction=parameterdirection.input;   prm3.direction=parameterdirection.input;   //為insertcmd添加sql參數(shù):   insertcmd.parameters.add(prm1);   insertcmd.parameters.add(prm2);   insertcmd.parameters.add(prm3);   //為sql參數(shù)賦值:   prm1.value=title;   prm2.value="david euler";   prm3.value=content;    coredb.open();   int recordsaffected=insertcmd.executenonquery();   if(recordsaffected==1)response.write("< script>alert("+ "插入成功" +");< /script>");   coredb.close();

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何處理C#向SQL Server中插入記錄時(shí)的單引號問題”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

當(dāng)前題目:如何處理C#向SQLServer中插入記錄時(shí)的單引號問題
URL標(biāo)題:http://muchs.cn/article0/iiodio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化企業(yè)建站、營銷型網(wǎng)站建設(shè)、App開發(fā)、靜態(tài)網(wǎng)站、微信小程序

廣告

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

營銷型網(wǎng)站建設(shè)