关于C#winform程序向access数据库表中insert into数据时的一个问题。

这是我的代码:这是一个歌词文件中的部分内容:程序错误指示:我用的sql语句是:stringsql=@"INSERTINTOSONGLIST(SONGNAME,SONGER... 这是我的代码:

这是一个歌词文件中的部分内容:

程序错误指示:

我用的sql语句是:
string sql = @"INSERT INTO SONGLIST
(SONGNAME,SONGER,CONTENT) VALUES ('"
+ music.SongName
+ "','"
+ music.Songer
+ "','"
+ music.SongContent
+ "')";
已知原因是因为歌词文件中含有 ‘ 单引号,从而导致语法错误:操作符丢失。请问该如何解决这个问题呢?
展开
 我来答
micro0369
2014-10-06 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:3952万
展开全部

对于单引号的问题,一般有两个方法解决:


  1. 用三个单引号,类似转义,表示1个单引号。

  2. 用参数,来实现。

追问
请问第二张方法的具体代码是怎样的?
追答
你搜索一下oledbparameter,能够找到相关的示例。
syht2000
高粉答主

2014-10-06 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
+ music.SongContent.Replace("'","''");
追问

我在前面加了:

music.SongContent = music.SongContent.Replace("'", "''");

可在某个文件中还会有这样的错误:

奇怪的是,另一个带有单引号的文件却可以写进去了,如图:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
析君豪2Q
2014-10-06 · TA获得超过411个赞
知道小有建树答主
回答量:724
采纳率:50%
帮助的人:193万
展开全部
存入的时候把'改成`,读出的时候再改回来,(用字符串的Replace方法)
追问
这样做确实是一种方法..有没有办法原封不动存入数据库呢?
追答
不想改就用参数化的SQL语句,用参数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式