首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

TSTRINGGRIP + UPDATE SQL 有关问题

2012-09-14 
TSTRINGGRIP + UPDATE SQL 问题EXCEL檔有2栏 : keyno, partnosql table tpadea 主要有 2栏 : dea001 及 de

TSTRINGGRIP + UPDATE SQL 问题
EXCEL檔有2栏 : keyno, partno 
sql table tpadea 主要有 2栏 : dea001 及 dea004

载入excel檔到 Tstringgrid1(已弄好), 每一行与tpadea 比較, 如找到相同的key(dea001); 就更新tpadea的partno(DEA004) 为 tstringgrip的partno. (StringGrid1.Cells[7, r])

以下方法失敗, 请问应该怎样更正? 谢谢.

procedure TForm1.Button1Click(Sender: TObject);
var
  r: Integer;
begin
  For r := 1 to StringGrid1.RowCount - 1 do
  with ADOQuery1 do
  begin
  Active := false;
  SQL.Clear;
  SQL.Add('UPDATE TPADEA');
  SQL.Add('SET DEA004 = StringGrid1.Cells[7, r] WHERE DEA001=StringGrid1.Cells[5, r]');
  ExecSQL
  end;
  ADOQuery1.Refresh;
  end;
 end.

[解决办法]

Delphi(Pascal) code
SQL.Add('SET DEA004 = '+Quotedstr(StringGrid1.Cells[7, r])+' WHERE DEA001='+Quotedstr(StringGrid1.Cells[5, r]));
[解决办法]
Delphi(Pascal) code
如果DEA001字段类型是整数SQL.Add('SET DEA004 = StringGrid1.Cells[7, r] WHERE DEA001='+StringGrid1.Cells[5, r]);如果DEA001字段类型是字符串SQL.Add('SET DEA004 = StringGrid1.Cells[7, r] WHERE DEA001='+quotedstr(StringGrid1.Cells[5, r]));
[解决办法]
1楼就是正确答案了...前提是你的字段类型都是字符串.

热点排行