如何处理C#向SQL Server中插入记录时的单引号问题
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章主要介绍了如何处理C#向SQL Server中插入记录时的单引号问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。asp.ne
千家信息网最后更新 2024年09月22日如何处理C#向SQL Server中插入记录时的单引号问题
这篇文章主要介绍了如何处理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中插入记录时的单引号问题"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
引号
过程
存储
问题
C#
方法
篇文章
参数
处理
两个
命令
成功
价值
兴趣
内容
分析器
同时
对此
对象
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海哪家软件开发不加班?
新华社 多媒体 数据库李凯
数字媒体软件开发哪个方向好
抖音直播伴侣软件开发
如何想出产品软件开发创意
如何统计数据库两个表中相同数据
vs2010数据库开发
工业统计数据库下载
软件开发涉及哪些费用
四川智慧管理平台软件开发
顺德区智匙网络技术有限公司
崩坏三圣痕数据库
网上卖网络技术
怎么使用手机进行软件开发
有关图书借阅的数据库设计
宁畅服务器排名
网上找软件开发项目
服务器间传输数据库
图像识别应用神经网络技术
oracle连远程数据库
软件开发行业发展现在
未来网络技术发展与展望
山东定制软件开发公司有哪些
小学生网络安全教育主题黑板报
软件开发辅导机构
组织部网络安全工作开展情况
java软件开发推荐书籍
access数据库二级题目
山东电脑软件开发哪家专业
网络安全大班教案及反思