delphi insert into 语句老是出错,改了N遍了,无法完成添加操作?
窗体上放了个ADOConnection1和ADOQuery1,确定按钮的单击事件代码如下:WithADOQuery1dobeginClose;SQL.Clear;SQL....
窗体上放了个ADOConnection1和ADOQuery1,确定按钮的单击事件代码如下:
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('insert into admin(username,password) values('+edit1.text+','+edit2.text+')');
ExecSQL;
end; 展开
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('insert into admin(username,password) values('+edit1.text+','+edit2.text+')');
ExecSQL;
end; 展开
7个回答
展开全部
出错?还是无法完成添加?这是两个概念。
'insert into admin(username,password) values('+edit1.text+','+edit2.text+')' 错了!!!
应该是
'insert into admin(username,password) values('''+edit1.text+''','''+edit2.text+''')'
知道问题所在了?
'insert into admin(username,password) values('+edit1.text+','+edit2.text+')' 错了!!!
应该是
'insert into admin(username,password) values('''+edit1.text+''','''+edit2.text+''')'
知道问题所在了?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'insert into admin(username,password) values('+edit1.text+','+edit2.text+')' 错了!!!
应该是
'insert into admin(username,password) values('''+edit1.text+''','''+edit2.text+''')'
'''为3个'
应该是
'insert into admin(username,password) values('''+edit1.text+''','''+edit2.text+''')'
'''为3个'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
缺少单引号,可改成
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('insert into admin(username,password) values('+QuotedStr(edit1.text)+','+QuotedStr(edit2.text)+')');
ExecSQL;
end;
不过最好还是采用参数的方式来写
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('insert into admin(username,password) values(:username,:password)');
Parameters.ParamValues['username'] := edit1.text;
Parameters.ParamValues['password'] := edit2.text;
Prepared:=True;
ExecSQL;
end;
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('insert into admin(username,password) values('+QuotedStr(edit1.text)+','+QuotedStr(edit2.text)+')');
ExecSQL;
end;
不过最好还是采用参数的方式来写
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('insert into admin(username,password) values(:username,:password)');
Parameters.ParamValues['username'] := edit1.text;
Parameters.ParamValues['password'] := edit2.text;
Prepared:=True;
ExecSQL;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-07-15 · 知道合伙人软件行家
关注
展开全部
从语法上看没错,如果出错,可能是数据库访问上面的,你把错误提示说下
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
with ADOQuery2 do
begin
Close;
SQL.Clear;
SQL.Add('insert into 分析结果 (报表时间,指标名称,指标值)');
SQL.Add('values (:p1,:p2,:p3)');//此处注意是 values不是value
Prepared := True;
Parameters.ParamByName('p1').Value:=combobox2.Text;
Parameters.ParamByName('p2').Value:=tabsheet4.Caption;
Parameters.ParamByName('p3').Value:=edit18.Text;
ExecSQL;
end;
begin
Close;
SQL.Clear;
SQL.Add('insert into 分析结果 (报表时间,指标名称,指标值)');
SQL.Add('values (:p1,:p2,:p3)');//此处注意是 values不是value
Prepared := True;
Parameters.ParamByName('p1').Value:=combobox2.Text;
Parameters.ParamByName('p2').Value:=tabsheet4.Caption;
Parameters.ParamByName('p3').Value:=edit18.Text;
ExecSQL;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询