关于数据更新

daijingjie2002 2007-06-30 12:26:16
各位大虾,我有以下语句
update.SQL.Add('insert into aaa_lld(lldno,hbdno,ddate,cdepcode,prono,cmemo,hander) values('+
''''+main_ado.fieldbyname('lldno').AsString+''''+','+
''''+main_ado.fieldbyname('hbdno').AsString+''''+','+
''''+main_ado.fieldbyname('ddate').AsString+''''+','+
''''+main_ado.fieldbyname('cdepcode').AsString+''''+','+
''''+main_ado.fieldbyname('prono').AsString+''''+','+
''''+main_ado.fieldbyname('cmemo').AsString+''''+','+
''''+mainunit.username+''''+')');
由于main_ado.fieldbyname('prono').AsString='FCDD0706005','FCDD0706021'
不能更新
跟总sql语句如下
insert into aaa_lld(lldno,hbdno,ddate,cdepcode,prono,cmemo,hander) values('001','001','2007-06-30 12:26:29','06',''FCDD0706005','FCDD0706021'','','ADMIN')
我该怎么改呀
...全文
302 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cLich 2007-07-19
  • 打赏
  • 举报
回复
如果只有小部分的字符包含 引号,可以转换成全角,
但有很多,或者字符必需包含引号的情况,就只能用 参数方式了
tom_cat007 2007-07-03
  • 打赏
  • 举报
回复
逗号是SQL的分隔符
tom_cat007 2007-07-03
  • 打赏
  • 举报
回复
晕,把半角的逗号转成全角的逗号就可以了!
hongqi162 2007-07-02
  • 打赏
  • 举报
回复
''''+StringReplace( main_ado.fieldbyname('prono').AsString,'''','''''',[rfReplaceAll])+''''+','+
hongqi162 2007-07-02
  • 打赏
  • 举报
回复
你需要对你的main_ado.fieldbyname('prono').AsString里的字符串里的单引号进行转意才可以,写个函数将prono里的单引号转成两个引号
daijingjie2002 2007-07-02
  • 打赏
  • 举报
回复
lishan200012的方法虽然可以,但是会影响我其他的语句,所以只能用字符,大家再帮想想办法
Jethill 2007-07-02
  • 打赏
  • 举报
回复
('001','001','2007-06-30 12:26:29','06',''FCDD0706005','FCDD0706021'','','ADMIN')
其中的''FCDD0706005','FCDD0706021''为什么有两个撇号??
是不是这里的问题.
cLich 2007-07-02
  • 打赏
  • 举报
回复
注入式攻击也是利用这个方式来攻击的.最好用参数方式提交:
以下例子
var
ExecResult: integer;
NewGID: integer;
begin
try
CheckData(Group);

with sAdoq do begin
Parameters.Clear;
Parameters.CreateParameter('UserID',ftString,pdInput,Len,FUserID);
Parameters.CreateParameter('gGroupID',ftInteger,pdInput,4,NewGID);
Parameters.CreateParameter('gTitle',ftString,pdInput,gTitleLen,Group.Title);
Parameters.CreateParameter('gLastChangeCount',ftInteger,pdInput,4,Group.LastChangeCount);

SQL.Text := 'insert into t (UserID,GroupID,Title,LastChangeCount) '
+ ' values (:UserID,:gGroupID,:gTitle,:gLastChangeCount) ';

ExecResult := ExecSQL;
end;
Result := arrFinish;
except
Result := arrDataBaseFailed;
end;


这样不管值包括什么非法字符都没有问题,还能阻止注入式攻击
brightyang 2007-07-02
  • 打赏
  • 举报
回复
顶上去
huayufei 2007-07-02
  • 打赏
  • 举报
回复
不能不用字符呀 '是可以用#39来显示的,那样不就清楚多了。
lishan200012 2007-07-01
  • 打赏
  • 举报
回复
或者这样写比较好看
update.SQL.Add('insert into aaa_lld(lldno,hbdno,ddate,cdepcode,prono,cmemo,hander)');
update.SQL.Add('values(:lldno,:hbdno,:ddate,:cdepcode,:prono,:cmemo,:hander)');
update.Parameters.ParamByName('lldno').Value:=main_ado.fieldbyname('lldno').AsString;
...
update.Parameters.ParamByName('lldno').Value:=mainunit.username;
showmessage(update.SQL.text);//查看一下是否一一对应。
update.execsql;
mdejtod 2007-06-30
  • 打赏
  • 举报
回复
'''+main_ado.fieldbyname('lldno').AsString+''','+
'''+main_ado.fieldbyname('hbdno').AsString+''','+
'''+main_ado.fieldbyname('ddate').AsString+''','+
'''+main_ado.fieldbyname('cdepcode').AsString+''','+
'''+main_ado.fieldbyname('prono').AsString+''','+
'''+main_ado.fieldbyname('cmemo').AsString+''','+
'''+mainunit.username+''')');
IDWB 2007-06-30
  • 打赏
  • 举报
回复
用"可以吗
update.SQL.Add('insert into aaa_lld(lldno,hbdno,ddate,cdepcode,prono,cmemo,hander) values('+
''''+main_ado.fieldbyname('lldno').AsString+''''+','+
''''+main_ado.fieldbyname('hbdno').AsString+''''+','+
''''+main_ado.fieldbyname('ddate').AsString+''''+','+
''''+main_ado.fieldbyname('cdepcode').AsString+''''+',"'+
main_ado.fieldbyname('prono').AsString+'",'+
''''+main_ado.fieldbyname('cmemo').AsString+''''+','+
''''+mainunit.username+''''+')');
【原创改进代码】考虑电动汽车移动储能特性的多区域电网功率波动平抑优化调控研究(Python代码实现)内容概要:本文研究了考虑电动汽车移动储能特性的多区域电网功率波动平抑优化调控策略,提出了一种基于Python的优化模型与仿真方法。该模型充分利用电动汽车作为移动储能单元的灵活性,通过合理的充放电调度,参与多区域电网间的功率平衡,有效平抑由新能源发电(如风电、光伏)引起的功率波动。研究构建了多区域协同优化框架,综合考虑电网传输约束、电动汽车出行规律、电池荷电状态及用户行为等因素,设计了相应的目标函数与约束条件,旨在最小化系统整体功率波动和运行成本。文中详细阐述了模型的数学表达、求解算法及仿真流程,并通过算例验证了所提策略在提升电网稳定性、促进新能源消纳方面的有效性。; 适合人群:具备电力系统、优化算法及Python编程基础的研究生、科研人员及从事新能源、智能电网领域的工程师。; 使用场景及目标:①研究电动汽车作为移动储能参与电网调频或削峰填谷的优化调度问题;②学习如何构建多区域电力系统协同优化模型,并利用Python实现求解;③探索提升高比例新能源接入下电网功率波动平抑能力的技术方案。; 阅读建议:在阅读时应重点关注多区域协同优化的建模思路与电动汽车移动储能特性的数学表征方法,建议结合文中提到的仿真流程自行复现代码,通过调整参数和场景设置来深入理解模型的运行机制与优化效果。

2,508

社区成员

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

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