SQl语句中单引号的问题?

heartbreaking2003 2003-04-23 11:54:06
Query_alter->SQL->Add("update structurepara set SparaName='"+Trim(Memo_xm->Text)+"',SparaValue='"+Trim(Memo_para->Text)+"',SparaUnit='"+Trim(Memo_unit->Text)+"' where SparaId='"+number+"'");

上面的代码中:
要是 Memo->Text里也有单引号,就会出现异常,请问怎么解决好一点?
...全文
108 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gary_jojo 2003-04-23
  • 打赏
  • 举报
回复
1.如果用象上面那样写单引号的话应该写成"\'";

2.建议你使用参数查询:
Query_alter->SQL->Add("update structurepara set SparaName =:a,SparaValue = :b,SparaUnit = :c where SparaId = :d");
Query_alter->ParamByName("a")->AsString = Trim(Memo_xm->Text);
Query_alter->ParamByName("b")->AsString = Trim(Memo_para->Text);
Query_alter->ParamByName("c")->AsString = Trim(Memo_unit->Text);
Query_alter->ParamByName("d")->AsString = number;

starstargao 2003-04-23
  • 打赏
  • 举报
回复
学习
xc2927 2003-04-23
  • 打赏
  • 举报
回复
学习
yangguo_god 2003-04-23
  • 打赏
  • 举报
回复
使用参数,同意 gary_jojo(硬币)
Query_alter->SQL->Add("update structurepara set SparaName =:a,SparaValue = :b,SparaUnit = :c where SparaId = :d");
Query_alter->ParamByName("a")->AsString = Trim(Memo_xm->Text);
Query_alter->ParamByName("b")->AsString = Trim(Memo_para->Text);
Query_alter->ParamByName("c")->AsString = Trim(Memo_unit->Text);
Query_alter->ParamByName("d")->AsString = number;
eastnofail 2003-04-23
  • 打赏
  • 举报
回复
楼上两位的建议不错
eastnofail 2003-04-23
  • 打赏
  • 举报
回复
单引号是特殊字符,如果想要在字符串里面引用的话,一般的编译器都是使用两个连在一起的特殊字符表示一个,比如"''"表示一个',在c语言里面有一个转义字符\跟在他后面的字符失去了原有的含义,比如"\n"就表示换行
gfh_79_0 2003-04-23
  • 打赏
  • 举报
回复
建议你使用参数查询

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧