kioshy 0 Denunciar post Postado Janeiro 9, 2006 Olá PessoALL Seguinte tenho um DataSet que é multi tabela, sendo q ele possui pelo menos 5 tabelas. Meu problema é que na hora q tento inserir os dados na segunda tabela ele apresenta um erro: Erro de Servidor no Aplicativo '/Reserva'. -------------------------------------------------------------------------------- Esta linha já pertence a outra tabela. Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código. Detalhes da Exceção: System.ArgumentException: Esta linha já pertence a outra tabela. Erro de Origem: Linha 71: //try Linha 72: //{ Linha 73: Dados.Tables["DadosTit"].Rows.Add(Titular.Tables[0].Rows[0]); Linha 74: Dados.AcceptChanges(); Linha 75: /*} Arquivo de Origem: c:\inetpub\wwwroot\reserva\persistdados.cs Linha: 73 Rastreamento de Pilha: [ArgumentException: Esta linha já pertence a outra tabela.] System.Data.DataTable.InsertRow(DataRow row, Int32 proposedID, Int32 pos) +450 System.Data.DataRowCollection.Add(DataRow row) +13 IT.Reserva.PersistDados.SetTitular(DataSet Titular) in c:\inetpub\wwwroot\reserva\persistdados.cs:73 IT.Reserva.frmCPF.Button1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\reserva\frmcpf.aspx.cs:72 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBa ckEvent(String eventArgument) +57 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33 System.Web.UI.Page.ProcessRequestMain() +1292 -------------------------------------------------------------------------------- Informações sobre a Versão: Microsoft .NET Framework Versão:1.1.4322.2032; Versão do ASP.NET:1.1.4322.2032 A minha função q insere os dados é a seguinte: public void SetTitular(DataSet Titular) { try { Dados.Tables["DadosTit"].Rows.Add(Titular.Tables[0].Rows[0]); Dados.AcceptChanges(); } catch(Exception) { Dados.RejectChanges(); } }O DataSet Titular vem com os dados certinhos. Compartilhar este post Link para o post Compartilhar em outros sites
kioshy 0 Denunciar post Postado Janeiro 10, 2006 Salve galera! Bom, eu consegui resolver o problema na verdade era simples, eu tinha q criar um DataRow com a mesma estrutura do DataSet e inserir os dados apartir desse DataRow. Minha function ficou assim: public void SetTitular(DataSet Titular){ DataRow Dr = Dados.Tables["DadosTit"].NewRow(); for(int i = 0; i <= 17; i++) { Dr[i] = Titular.Tables[0].Rows[0][i].ToString(); } try { Dados.Tables["DadosTit"].Rows.Add(Dr); Dados.AcceptChanges(); } catch(Exception) { Dados.RejectChanges(); }} Compartilhar este post Link para o post Compartilhar em outros sites