procedure TForm2.Button4Click(Sender: TObject);
var
Sql:String;
begin
begin
if Self.DateTimePicker1.Date < Date then
begin
Application.MessageBox('日期不得早于今天','提醒',mb_ok);
Exit;
end;
if Trim(ComboBox1.Text) = '' then
begin
Application.MessageBox('工作班组不得为空','提醒',mb_ok);
Exit;
end; if Trim(Edit1.Text) = '' then
begin
Application.MessageBox('安排车辆不得为空','提醒',mb_ok);
Exit;
end; //Query2.Close;
//Query2.SQL.Clear;
//Query2.SQL.Add('select * from ZW.QU order by NN DESC');
//Query2.Open; //tmp := Query2.FieldByName('NN').AsInteger;
//Inc(tmp); if Flag = 1 then
Sql := 'Insert into ZW.BZ(NN,workdate,banzu,car) values(''' + IntToStr(Form1.Query1.FieldByName('NN').AsInteger +''','''+ DateToStr(Self.DateTimePicker1.Date) + ''',''' + Trim(ComboBox1.Text) + ''',''' + Trim(Edit1.Text) + ''')'; if Flag = 2 then
Sql := 'update ZW.BZ set workdate = ''' + DateToStr(Self.DateTimePicker1.Date) + ''', BANZU = ''' + Trim(ComboBox1.Text) + ''', car = ''' + Trim(Edit1.Text) + ''' where NN = ' + IntToStr(Query2.FieldByName('NN').AsInteger); Query2.Close;
Query2.SQL.Clear; Query2.SQL.Add(Sql);
Query2.ExecSQL; Query1.Close;
Query1.Open; Edit1.Enabled := False;
memo1.Enabled := False;
DateTimePicker1.Enabled := False;
ComboBox1.Enabled := False;
memo2.Enabled := False;
Button1.Enabled := True;
Button2.Enabled := True;
Button3.Enabled := True;
Button4.Enabled := False;
Button5.Enabled := False;
if Flag = 2 then
DBGrid1.Enabled := True; Flag := 0;
end;
在这里总是提示incompatible types :'String'and 'Integer'的错误
if Flag = 1 then
Sql := 'Insert into ZW.BZ(NN,workdate,banzu,car) values(''' + IntToStr(Form1.Query1.FieldByName('NN').AsInteger +''','''+ DateToStr(Self.DateTimePicker1.Date) + ''',''' + Trim(ComboBox1.Text) + ''',''' + Trim(Edit1.Text) + ''')';
end.请高手指导 谢谢!!
var
Sql:String;
begin
begin
if Self.DateTimePicker1.Date < Date then
begin
Application.MessageBox('日期不得早于今天','提醒',mb_ok);
Exit;
end;
if Trim(ComboBox1.Text) = '' then
begin
Application.MessageBox('工作班组不得为空','提醒',mb_ok);
Exit;
end; if Trim(Edit1.Text) = '' then
begin
Application.MessageBox('安排车辆不得为空','提醒',mb_ok);
Exit;
end; //Query2.Close;
//Query2.SQL.Clear;
//Query2.SQL.Add('select * from ZW.QU order by NN DESC');
//Query2.Open; //tmp := Query2.FieldByName('NN').AsInteger;
//Inc(tmp); if Flag = 1 then
Sql := 'Insert into ZW.BZ(NN,workdate,banzu,car) values(''' + IntToStr(Form1.Query1.FieldByName('NN').AsInteger +''','''+ DateToStr(Self.DateTimePicker1.Date) + ''',''' + Trim(ComboBox1.Text) + ''',''' + Trim(Edit1.Text) + ''')'; if Flag = 2 then
Sql := 'update ZW.BZ set workdate = ''' + DateToStr(Self.DateTimePicker1.Date) + ''', BANZU = ''' + Trim(ComboBox1.Text) + ''', car = ''' + Trim(Edit1.Text) + ''' where NN = ' + IntToStr(Query2.FieldByName('NN').AsInteger); Query2.Close;
Query2.SQL.Clear; Query2.SQL.Add(Sql);
Query2.ExecSQL; Query1.Close;
Query1.Open; Edit1.Enabled := False;
memo1.Enabled := False;
DateTimePicker1.Enabled := False;
ComboBox1.Enabled := False;
memo2.Enabled := False;
Button1.Enabled := True;
Button2.Enabled := True;
Button3.Enabled := True;
Button4.Enabled := False;
Button5.Enabled := False;
if Flag = 2 then
DBGrid1.Enabled := True; Flag := 0;
end;
在这里总是提示incompatible types :'String'and 'Integer'的错误
if Flag = 1 then
Sql := 'Insert into ZW.BZ(NN,workdate,banzu,car) values(''' + IntToStr(Form1.Query1.FieldByName('NN').AsInteger +''','''+ DateToStr(Self.DateTimePicker1.Date) + ''',''' + Trim(ComboBox1.Text) + ''',''' + Trim(Edit1.Text) + ''')';
end.请高手指导 谢谢!!
则: if Flag = 1 then
Sql := 'Insert into ZW.BZ(NN,workdate,banzu,car) values(' + IntToStr(Form1.Query1.FieldByName('NN').AsInteger +','''+
不过我不赞成你用这样的方式,因为’即是字符串的引用符号,也是转义字符。经常会出错,
采用参数吧
我把你的写法转换一下:
with Query2 do
begin
close;
Sql := 'Insert into ZW.BZ(NN,workdate,banzu,car) values(:NN,:workdate,:banzu,:car)';
Parameters.ParamByName('NN').Value:=Query1.FieldByName('NN').AsInteger ;
Parameters.ParamByName('workdate').Value:=DateTimePicker1.Date;
Parameters.ParamByName('banzu').Value:=Trim(ComboBox1.Text) ;
Parameters.ParamByName('car').Value:=Trim(Edit1.Text) ;
SQL.Add(Sql);
ExecSQL;end;