小弟有个按钮进行如下设置:
edit1.text := '';
edit2.text := '';
...
edit8.text := ''
用于把edit控件清空,然后提示用户输入相关的输入,然后执行下面的代码:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Insert into distributor');
ADOQuery1.SQL.Add('(Distri_num,Boss_name,Distri_company,Address,Phone,Bank_name,Bank_num,Memo)');
ADOQuery1.SQL.Add('Values');
ADOQuery1.SQL.Add('(:Distri_num,:Boss_name,:Distri_company,:Address,:Phone,:Bank_name,:Bank_num,:Memos)');ADOQuery1.Prepared := False;
ADOQuery1.Parameters.ParamByName('Distri_num').value :=Edit1.Text;
ADOQuery1.Parameters.ParamByName('Boss_name').value :=Edit3.Text;
ADOQuery1.Parameters.ParamByName('Distri_company').value := Edit2.Text;
ADOQuery1.Parameters.ParamByName('Address').value := Edit4.Text;
ADOQuery1.Parameters.ParamByName('Phone').value := Edit5.Text;
ADOQuery1.Parameters.ParamByName('Bank_name').value := Edit6.Text;
ADOQuery1.Parameters.ParamByName('Bank_num').value := Edit7.Text;
ADOQuery1.Parameters.ParamByName('Memos').value := Edit8.Text;ADOQuery1.Prepared;
ADOQuery1.ExecSQL;但是系统执行后出现如下的问题,提示数据库出错,我试过了,将Edit1.text :=''这一段设置去掉的话,下面的代码是可以正确执行的,我用单步调试进行了测试,发现
ADOQuery1.Parameters.ParamByName('Distri_num').value :=Edit1.Text
所接受的edit.text数据不是我后来输入的数据,而是‘’,因为Distri_num是关键字,所以系统报错,请问大大为什么edit.text不是我后来要求用户输入的数据阿?
如何改写?
edit1.text := '';
edit2.text := '';
...
edit8.text := ''
用于把edit控件清空,然后提示用户输入相关的输入,然后执行下面的代码:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Insert into distributor');
ADOQuery1.SQL.Add('(Distri_num,Boss_name,Distri_company,Address,Phone,Bank_name,Bank_num,Memo)');
ADOQuery1.SQL.Add('Values');
ADOQuery1.SQL.Add('(:Distri_num,:Boss_name,:Distri_company,:Address,:Phone,:Bank_name,:Bank_num,:Memos)');ADOQuery1.Prepared := False;
ADOQuery1.Parameters.ParamByName('Distri_num').value :=Edit1.Text;
ADOQuery1.Parameters.ParamByName('Boss_name').value :=Edit3.Text;
ADOQuery1.Parameters.ParamByName('Distri_company').value := Edit2.Text;
ADOQuery1.Parameters.ParamByName('Address').value := Edit4.Text;
ADOQuery1.Parameters.ParamByName('Phone').value := Edit5.Text;
ADOQuery1.Parameters.ParamByName('Bank_name').value := Edit6.Text;
ADOQuery1.Parameters.ParamByName('Bank_num').value := Edit7.Text;
ADOQuery1.Parameters.ParamByName('Memos').value := Edit8.Text;ADOQuery1.Prepared;
ADOQuery1.ExecSQL;但是系统执行后出现如下的问题,提示数据库出错,我试过了,将Edit1.text :=''这一段设置去掉的话,下面的代码是可以正确执行的,我用单步调试进行了测试,发现
ADOQuery1.Parameters.ParamByName('Distri_num').value :=Edit1.Text
所接受的edit.text数据不是我后来输入的数据,而是‘’,因为Distri_num是关键字,所以系统报错,请问大大为什么edit.text不是我后来要求用户输入的数据阿?
如何改写?
procedure TForm1.Create(Sender: TObject);
begin
edit1.text :='';
...
....
end;
ADOQuery1.Parameters.ParamByName('Distri_num').value :=Edit1.Text;
始终接收不到我要输入的数据。