Converter código C# em Delphi
Preciso converter esse código c para o delphi no asp.net. Esse código vai pegar todas as checkbox marcadas na datagrid para depois executar o comando de exclusão no banco....
private Button1_click(...){
string ids;
foreach(DataGridItem item in this.DataGrid1.Items){
if (item.ItemType == ListItemType.AlternatingItem || item.ItemType == ListItemType.Item)
{
if(((CheckBox)item.FindControl(´chkMark´)).Checked){
ids += Convert.ToString(this.DataGrid1.DataKeys[item.ItemIndex]) + ´, ´;
}
}
}
}
Agora basta voce chamar a funcao que exclui estes registros da DB, utilizando a clausula IN no DELETE. Exemplo:
DELETE FROM Tabela WHERE ID IN (1, 2, 3)
private Button1_click(...){
string ids;
foreach(DataGridItem item in this.DataGrid1.Items){
if (item.ItemType == ListItemType.AlternatingItem || item.ItemType == ListItemType.Item)
{
if(((CheckBox)item.FindControl(´chkMark´)).Checked){
ids += Convert.ToString(this.DataGrid1.DataKeys[item.ItemIndex]) + ´, ´;
}
}
}
}
Agora basta voce chamar a funcao que exclui estes registros da DB, utilizando a clausula IN no DELETE. Exemplo:
DELETE FROM Tabela WHERE ID IN (1, 2, 3)
Rzcoimbra
Curtidas 0
Respostas
Rzcoimbra
27/04/2005
alguém pode me ajudar
GOSTEI 0
Rzcoimbra
27/04/2005
O mínimo já ajudaria....
GOSTEI 0
Rjun
27/04/2005
Em Delphi não existe o comando FOREACH. Dê uma olhada no link abaixo :
http://delphi.about.com/cs/adptips2004/a/bltip0404_3.htm
http://delphi.about.com/cs/adptips2004/a/bltip0404_3.htm
GOSTEI 0
Massuda
27/04/2005
Se você estiver usando D2005...Como sempre, não testei (nem tenho como testar).
var
Ids: string;
Item: DataGridItem;
...
// for..in..do equivale a foreach
for Item in Self.DataGrid1.Items do begin
if (Item.ItemType = ListItemType.AlternatingItem) or
(Item.ItemType = ListItemType.Item) then begin
if CheckBox(Item.FindControl("chkMark")).Checked then begin
Ids := Ids +
Convert.ToString(Self.DataGrid1.DataKeys[Item.ItemIndex]) + ", ";
end;
end;
end;GOSTEI 0
Rzcoimbra
27/04/2005
valeu cara.. funcionou.
porem só está dando um errinho bobo
if Ids <> nil then
begin
ExcluirCategorias.Parameters[´categoria_id´].Value := Ids;
Connection.Open();
ExcluirCategorias.ExecuteScalar();
DataCategoria.Fill(DataSetTip1);
DGCategorias.DataBind();
Connection.Close();
end;
ele exclui do banco de dados porém nao atualiza na tela. o que pode ser.
porem só está dando um errinho bobo
if Ids <> nil then
begin
ExcluirCategorias.Parameters[´categoria_id´].Value := Ids;
Connection.Open();
ExcluirCategorias.ExecuteScalar();
DataCategoria.Fill(DataSetTip1);
DGCategorias.DataBind();
Connection.Close();
end;
ele exclui do banco de dados porém nao atualiza na tela. o que pode ser.
GOSTEI 0