通过选择DBGRID中的一条记录然后用ADOQUERY组件通过SQL语句UPDATE ..... 修改当前记录,但为什么每次都修改了所有的记录

解决方案 »

  1.   

    DataModule1->ADOQuery1->Close();
           DataModule1->ADOQuery1->SQL->Clear();
           AnsiString strSql= "Update ship set ";
                   if(editShipName->Text!="")//// 必填字段
                    {
           strSql =strSql+ "ship_name="+AnsiString("\'")+editShipName->Text+AnsiString("\'");
                    }else
                    return ;
                    if(editJzny->Text!="")
                    {
           strSql =strSql+ ", jzny="+AnsiString("\'")+editJzny->Text+AnsiString("\'");
                    }
           strSql =strSql+"where ship_name="+AnsiString("\'")+oldShipname+AnsiString("\'");
           DataModule1->ADOQuery1->SQL->Add(strSql);
           DataModule1->ADOQuery1->ExecSQL();