问题描述:
今天在写项目,传入一个string到sql中,作为条件进行判断。程序报错。跟踪后发现,字符串中带有单引号。
select * from POSData where Reseller='CS Int'l Inc.'//
以上SQL的条件中,CS Int'l Inc. 是一个整串,但是其中多了单引号后,sql报错。
解决方法如下:
string sql = string.Format(@"select 1 from YEA_T_MI_Reseller_SI_l where FNAME='{0}'", sysReseller.Replace("'","''"));
传入字符串的时候,将单引号用Replace方法替换成两个单引号,结果不变,报错取消。