Hello
I have this DataGridView below:
IneedtogothroughtheDataGrid,checkthecheckboxesandrecordthedatafrom(Quantity:QtyandProductcode:product_code).IgotwithStackhelptomakethiscodebelow:
privatevoidbtnIncluir_Click(objectsender,EventArgse){try{intcod;intqntd;foreach(DataGridViewRowlinhaindgvSolicitacaoCliente.Rows){varcell=linha.Cells[0]asDataGridViewCheckBoxCell;if((bool)cell.Value){cod=Convert.ToInt32(linha.Cells[4].Value.ToString());qntd=Convert.ToInt32(linha.Cells[1].Value.ToString());cmd.CommandText="insert into solicitacao_item (cod_solicitacao_cliente, cod_produto, qtd) VALUES (@cod_solicitacao_cliente, @cod_produto, @qtd)";
cmd.Parameters.Add(new NpgsqlParameter("@cod_solicitacao_cliente", cmd.CommandText = "select MAX(cod_solicliente) from solicitacao_cliente"));
cmd.Parameters.Add(new NpgsqlParameter("@cod_produto", cod));
cmd.Parameters.Add(new NpgsqlParameter("@qtd", qntd));
cmd.ExecuteNonQuery();
conexao.desconecta(cmd.Connection);
}
}
MessageBox.Show("Incluso com sucesso!");
}
catch (Exception ex) // Caso de erro, irá mostrar a mensagem de erro!
{
MessageBox.Show(ex.ToString()); // mensagem de erro
}
}
But this error well in this part of the code: if ((bool)cell.Value)
:
System.NullReferenceException was unhandled
HResult=-2147467261
Message=Referência de objeto não definida para uma instância de um objeto.
Source=Vendas Diretas Versao Atualizada
StackTrace:
em Vendas_Diretas_Versao_Atualizada.frmSolicitacaoCliente.btnIncluir_Click(Object sender, EventArgs e) na c:\Users\WILL\Documents\Visual Studio 2013\Projects\Vendas Diretas Versao Atualizada\Vendas Diretas Versao Atualizada\Solicitacao Cliente.cs:linha 87
em System.Windows.Forms.Control.OnClick(EventArgs e)
em System.Windows.Forms.Button.OnClick(EventArgs e)
em System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
em System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
em System.Windows.Forms.Control.WndProc(Message& m)
em System.Windows.Forms.ButtonBase.WndProc(Message& m)
em System.Windows.Forms.Button.WndProc(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
em System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
em System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
em System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
em System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
em System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
em System.Windows.Forms.Application.RunDialog(Form form)
em System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
em System.Windows.Forms.Form.ShowDialog()
em Vendas_Diretas_Versao_Atualizada.frmPrincipal.clientesToolStripMenuItem1_Click(Object sender, EventArgs e) na c:\Users\WILL\Documents\Visual Studio 2013\Projects\Vendas Diretas Versao Atualizada\Vendas Diretas Versao Atualizada\Principal.cs:linha 83
em System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
em System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
em System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
em System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
em System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
em System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
em System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
em System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
em System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
em System.Windows.Forms.Control.WndProc(Message& m)
em System.Windows.Forms.ScrollableControl.WndProc(Message& m)
em System.Windows.Forms.ToolStrip.WndProc(Message& m)
em System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
em System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
em System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
em System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
em System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
em System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
em System.Windows.Forms.Application.Run(Form mainForm)
em Vendas_Diretas_Versao_Atualizada.Program.Main() na c:\Users\WILL\Documents\Visual Studio 2013\Projects\Vendas Diretas Versao Atualizada\Vendas Diretas Versao Atualizada\Program.cs:linha 19
em System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
em System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
em Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
em System.Threading.ThreadHelper.ThreadStart_Context(Object state)
em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
em System.Threading.ThreadHelper.ThreadStart()
InnerException: