国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

C#向Sql Server中插入記錄時(shí)單引號(hào)的處理

2024-07-21 02:18:42
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
asp.net種使用c#, 向coredb.mybbs表中插入記錄值(title, content)【文章的標(biāo)題和內(nèi)容】,由于content, title中可能包含單引號(hào),直接使用sql的insert命令會(huì)報(bào)錯(cuò),對(duì)此有兩種處理方法,一種將單引號(hào)替換成兩個(gè)單引號(hào),第2種方法是使用存儲(chǔ)過(guò)程。

表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、將單引號(hào)用兩個(gè)單引號(hào)替換:
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";

//單引號(hào)用"''"替換,以插入'到sql server中;
string title=textbox1.text.replace("'","''");
string content=textbox2.text.replace("'","''");
if(title.trim()==""||content.trim()=="")return;
string insertcmd [email protected]"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、使用存儲(chǔ)過(guò)程來(lái)插入

1) 創(chuàng)建存儲(chǔ)過(guò)程:
create proc insertmybbsproc(@title char(160), @author char(20), @content ntext)
as
insert into mybbs(title,author,content) values(@title, @author, @content)

2) 查詢(xún)分析器中測(cè)試存儲(chǔ)過(guò)程:
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#中通過(guò)sqlcommand執(zhí)行存儲(chǔ)過(guò)程:
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;//命令類(lèi)型為存儲(chǔ)過(guò)程;下面定義參數(shù)對(duì)象:
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();


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 杭锦后旗| 申扎县| 安乡县| 精河县| 鄂托克旗| 永平县| 盐源县| 咸丰县| 东山县| 崇信县| 伊春市| 泸西县| 永新县| 张家港市| 安塞县| 陵水| 噶尔县| 报价| 临高县| 东源县| 安溪县| 北川| 铜山县| 丁青县| 云和县| 西安市| 苏尼特左旗| 华亭县| 色达县| 弥渡县| 平果县| 吴忠市| 白河县| 和顺县| 宝应县| 昌江| 石楼县| 仲巴县| 洛南县| 三原县| 和平区|