none
Erro ao inserir varios itens em uma tabela RRS feed

  • Pergunta

  • Srs. boa noite

    Estou trabalhando com  C# e Visual Studio 2008.

    Tenho um modulo para Inserir varios itens ao mesmo tempo em uma determinada tabela, abaixo segue o codigo do modulo de Insercao, favor me informar o que pode esta errado nesse codigo:

    public void IncluirExplosao(string pedido)

    {

     

    //SQL que vai buscar os dados do pedido a ser EXPLODIDO

     

    string strSql;

    strSql =

    @"select ite.cdpedido, ite.cditem, ite.qtitem, expr.cditemacabado, expr.cdpeca, expr.qtpeca, peca.nmpeca

    from itensdopedido as ite

    inner join explprod as expr

    on ite.cditem = expr.cditemacabado

    left outer join peca as peca

    on expr.cdpeca = peca.cdpeca

    where ite.CdPedido like '%"

    + pedido + "%'";

     

    SqlConnection conexao = new SqlConnection(Dados.StringDeConexao);

     

    SqlCommand comando1 = new SqlCommand(strSql, conexao);

    conexao.Open();

    //Abrir a conexao para preencher meu DataReader

     

    SqlDataReader dr = comando1.ExecuteReader();

     

    InformacaoExplodido explosao = new InformacaoExplodido();

     

    SqlCommand comando2 = new SqlCommand();

     

    SqlTransaction transacao = null;

     

    try

    {

     

    while (dr.Read())

    {

    explosao.CdPedido = dr[

    "cdpedido"].ToString();

    explosao.CdItemAcabado = dr[

    "ite.cditem"].ToString();

    explosao.QtPedido =

    Convert.ToInt32(dr["ite.qtitem"]);

    explosao.CdPeca = dr[

    "expr.cdpeca"].ToString();

    explosao.QtPeca =

    Convert.ToInt32(dr["expr.qtpeca"]);

    comando2.Connection = conexao;

    comando2.CommandText =

    @"Insert into Explodido

    (CdPedido, CdItemAcabado, QtPedida, CdPeca,

    QtPeca)

    Values

    (@CdPedido, @CdItemAcabado, @QtPedida, @CdPeca,

    @QtPeca)"

    ;

    comando2.Parameters.AddWithValue(

    "@CdPedido", explosao.CdPedido);

    comando2.Parameters.AddWithValue(

    "@CdItemAcabado", explosao.CdItemAcabado);

    comando2.Parameters.AddWithValue(

    "@QtPedida", explosao.QtPedido);

    comando2.Parameters.AddWithValue(

    "@CdPeca", explosao.CdPeca);

    comando2.Parameters.AddWithValue(

    "@QtPeca", explosao.QtPeca);

    comando2.ExecuteNonQuery();

    }

    transacao = conexao.BeginTransaction(

    IsolationLevel

    .Serializable);

    comando2.Transaction = transacao;

    Desde ja agradeço.

    sábado, 17 de setembro de 2011 23:37

Todas as Respostas

  • Poderia postar o erro?
    Carlos Eduardo Ferreira
    domingo, 18 de setembro de 2011 00:50
  • Carlos boa noite,

    System.NullReferenceException was unhandled
      Message="Object reference not set to an instance of an object."
      Source="DAL"
      StackTrace:
           at PCP.DAL.ExplodidoDAL.IncluirExplosao(String pedido) in C:\Projetos\PCP\DAL\DAL\ExplodidoDAL.cs:line 247
           at PCP.BLL.ExplodidoBLL.IncluirExplosao(String pedido) in C:\Projetos\PCP\BLL\BLL\ExplodidoBLL.cs:line 33
           at PCP.UIWindows.frmExplosaoPedidos.btnExplodir_Click(Object sender, EventArgs e) in C:\Projetos\PCP\UIWindows\UIWindows\frmExplosaoPedidos.cs:line 134
           at System.Windows.Forms.Control.OnClick(EventArgs e)
           at System.Windows.Forms.Button.OnClick(EventArgs e)
           at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
           at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
           at System.Windows.Forms.Control.WndProc(Message& m)
           at System.Windows.Forms.ButtonBase.WndProc(Message& m)
           at System.Windows.Forms.Button.WndProc(Message& m)
           at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
           at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
           at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
           at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
           at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
           at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
           at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
           at System.Windows.Forms.Application.Run(Form mainForm)
           at PCP.UIWindows.Program.Main() in C:\Projetos\PCP\UIWindows\UIWindows\Program.cs:line 17
           at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
           at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
           at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           at System.Threading.ThreadHelper.ThreadStart()
      InnerException:

    Ai esta, desde ja agradeco.

    domingo, 18 de setembro de 2011 01:05
  • Wagner, boa noite.

    Qual é o conteúdo da linha 247 do arquivo ExplodidoDAL.cs?


    Carlos Eduardo Ferreira
    domingo, 18 de setembro de 2011 01:16