中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何處理C#向SQL Server中插入記錄時的單引號問題

發布時間:2021-12-01 11:46:04 來源:億速云 閱讀:543 作者:小新 欄目:編程語言

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

asp.net中使用c#, 向coredb.mybbs表中插入記錄值(title, content)【文章的標題和內容】,由于content, title中可能包含單引號,直接使用sql的insert命令會報錯,對此有兩種處理方法,一種將單引號替換成兩個單引號,第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中插入記錄時單引好問題處理方法之一:將單引號用兩個單引號替換:

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中插入記錄時單引好問題處理方法之二:使用存儲過程來插入

1) 創建存儲過程:

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執行存儲過程:

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中插入數據的procedure:   sqlcommand insertcmd = new sqlcommand("insertmybbsproc",coredb);    insertcmd.commandtype=commandtype.storedprocedure;//命令類型為存儲過程;下面定義參數對象:   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參數:   insertcmd.parameters.add(prm1);   insertcmd.parameters.add(prm2);   insertcmd.parameters.add(prm3);   //為sql參數賦值:   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();

感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何處理C#向SQL Server中插入記錄時的單引號問題”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

正蓝旗| 北海市| 扎鲁特旗| 乐平市| 应城市| 丽水市| 板桥市| 静宁县| 平昌县| 祥云县| 连平县| 襄汾县| 东光县| 陇川县| 辰溪县| 武乡县| 九台市| 南昌县| 余庆县| 怀远县| 嘉义市| 壶关县| 登封市| 阳江市| 都兰县| 武城县| 泾川县| 女性| 河曲县| 平顺县| 洛川县| 玉林市| 定陶县| 砚山县| 东乡族自治县| 南康市| 兖州市| 信阳市| 亳州市| 蒲城县| 龙陵县|