Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. External component has thrown an exception

External component has thrown an exception

Scheduled Pinned Locked Moved C#
saleshelp
6 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • U Offline
    U Offline
    User 10240249
    wrote on last edited by
    #1

    ihave problem when print datagridview this coding me public partial class Form1 : Form { PrintDocument dokprint = new PrintDocument(); String koneksidatabase = " Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\DatabaseMDB\\DBSALES.mdb"; public Form1() { InitializeComponent(); printDocument1.PrintPage += printDocument1_PrintPage; ---------------------------------------------------------------------------------- private void button2_Click(object sender, EventArgs e) { if (TXTBAYAR.Text == "") { MessageBox.Show("Please insert Buy"); return; } for (int i = 0; i < dataGridView2.Rows.Count; i++) { OleDbConnection con = new OleDbConnection(koneksidatabase); OleDbCommand cmd = new OleDbCommand("insert into Sales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6)", con); cmd.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd.Parameters.AddWithValue("@Column6", dataGridView2.Rows[i].Cells[5].Value); OleDbConnection con1 = new OleDbConnection(koneksidatabase); OleDbCommand cmd1 = new OleDbCommand("insert into DetailSales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal],[Total],[Bayar],[Kembalian],[DateTime]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6,@Total,@Bayar,@Kembalian,@DateTime)", con); cmd1.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd1.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd1.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd1.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd1.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd1.Parameters.AddWi

    A 1 Reply Last reply
    0
    • U User 10240249

      ihave problem when print datagridview this coding me public partial class Form1 : Form { PrintDocument dokprint = new PrintDocument(); String koneksidatabase = " Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\DatabaseMDB\\DBSALES.mdb"; public Form1() { InitializeComponent(); printDocument1.PrintPage += printDocument1_PrintPage; ---------------------------------------------------------------------------------- private void button2_Click(object sender, EventArgs e) { if (TXTBAYAR.Text == "") { MessageBox.Show("Please insert Buy"); return; } for (int i = 0; i < dataGridView2.Rows.Count; i++) { OleDbConnection con = new OleDbConnection(koneksidatabase); OleDbCommand cmd = new OleDbCommand("insert into Sales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6)", con); cmd.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd.Parameters.AddWithValue("@Column6", dataGridView2.Rows[i].Cells[5].Value); OleDbConnection con1 = new OleDbConnection(koneksidatabase); OleDbCommand cmd1 = new OleDbCommand("insert into DetailSales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal],[Total],[Bayar],[Kembalian],[DateTime]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6,@Total,@Bayar,@Kembalian,@DateTime)", con); cmd1.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd1.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd1.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd1.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd1.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd1.Parameters.AddWi

      A Offline
      A Offline
      Abhinav S
      wrote on last edited by
      #2

      Looks like you have an issue connecting to the printer. Look at the error and try to figure out the problem. Post the error here. As a side note, add a try catch block to your code to handle the error.

      Apps - Color Analyzer | Arctic | XKCD | Sound Meter | Speed Dial

      U 1 Reply Last reply
      0
      • A Abhinav S

        Looks like you have an issue connecting to the printer. Look at the error and try to figure out the problem. Post the error here. As a side note, add a try catch block to your code to handle the error.

        Apps - Color Analyzer | Arctic | XKCD | Sound Meter | Speed Dial

        U Offline
        U Offline
        User 10240249
        wrote on last edited by
        #3

        PrintDocument printdocument1 = new PrintDocument(); String koneksidatabase = " Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\DatabaseMDB\\DBSALES.mdb"; public Form1() { InitializeComponent(); printDocument1.PrintPage += printDocument1_PrintPage; private void button2_Click(object sender, EventArgs e) { if (TXTBAYAR.Text == "") { MessageBox.Show("Please insert Buy"); return; } for (int i = 0; i < dataGridView2.Rows.Count; i++) { OleDbConnection con = new OleDbConnection(koneksidatabase); OleDbCommand cmd = new OleDbCommand("insert into Sales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6)", con); cmd.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd.Parameters.AddWithValue("@Column6", dataGridView2.Rows[i].Cells[5].Value); OleDbConnection con1 = new OleDbConnection(koneksidatabase); OleDbCommand cmd1 = new OleDbCommand("insert into DetailSales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal],[Total],[Bayar],[Kembalian],[DateTime]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6,@Total,@Bayar,@Kembalian,@DateTime)", con); cmd1.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd1.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd1.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd1.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd1.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd1.Parameters.AddWithValue("@Column6", dataGridView2.Rows[i].Cells[5].Value); cmd1.Parameters.AddWithValue("@Total", txttotal1.Text); cmd1.Par

        D 1 Reply Last reply
        0
        • U User 10240249

          PrintDocument printdocument1 = new PrintDocument(); String koneksidatabase = " Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\DatabaseMDB\\DBSALES.mdb"; public Form1() { InitializeComponent(); printDocument1.PrintPage += printDocument1_PrintPage; private void button2_Click(object sender, EventArgs e) { if (TXTBAYAR.Text == "") { MessageBox.Show("Please insert Buy"); return; } for (int i = 0; i < dataGridView2.Rows.Count; i++) { OleDbConnection con = new OleDbConnection(koneksidatabase); OleDbCommand cmd = new OleDbCommand("insert into Sales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6)", con); cmd.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd.Parameters.AddWithValue("@Column6", dataGridView2.Rows[i].Cells[5].Value); OleDbConnection con1 = new OleDbConnection(koneksidatabase); OleDbCommand cmd1 = new OleDbCommand("insert into DetailSales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal],[Total],[Bayar],[Kembalian],[DateTime]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6,@Total,@Bayar,@Kembalian,@DateTime)", con); cmd1.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd1.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd1.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd1.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd1.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd1.Parameters.AddWithValue("@Column6", dataGridView2.Rows[i].Cells[5].Value); cmd1.Parameters.AddWithValue("@Total", txttotal1.Text); cmd1.Par

          D Offline
          D Offline
          Dave Kreskowiak
          wrote on last edited by
          #4

          It may be just me, but that doesn't look like an error message.

          A guide to posting questions on CodeProject[^]
          Dave Kreskowiak

          R 1 Reply Last reply
          0
          • D Dave Kreskowiak

            It may be just me, but that doesn't look like an error message.

            A guide to posting questions on CodeProject[^]
            Dave Kreskowiak

            R Offline
            R Offline
            ramonminarro
            wrote on last edited by
            #5

            I have the same problem. I describe the issue: The process that not work sometimes is a MTA Process it have that code:

            Protected Friend Function PrintCustomDriver(printerSetting As PrinterSettingsAvanzada) As Boolean
            Dim sucess As Boolean = True
            Dim impresoradefecto As String = HumanoSoftware.Helpers.WindowUtil.GetDefaultPrinter
            Try
            Using document = PdfiumViewer.PdfDocument.Load(path)

              Using printDocument = document.CreatePrintDocument()
                 Dim printerDuplicado As PrinterSettingsAvanzada = printerSetting.Clone
                 printerDuplicado.Copies = 1
                 printDocument.PrinterSettings = printerDuplicado
                 printDocument.PrintController = New System.Drawing.Printing.StandardPrintController()
              
                 For indice As Integer = 0 To printerSetting.Copies - 1
                    printDocument.Print()
                 Next
              End Using
            End Using
            

            Catch ex As Exception
            Logger.EscribirException(ex)
            sucess = False
            Finally
            HumanoSoftware.Helpers.WindowUtil.SetDefaultPrinter(impresoradefecto)
            End Try

            Return sucess
            End Function

            Normally it works fine, However, sometimes throw that exception:

            Quote:

            [33][10/03/2022][10:23:23:170][ERROR][. Un componente externo produjo una excepción.. en PdfiumViewer.NativeMethods.Imports.FPDF_RenderPage(IntPtr dc, IntPtr page, Int32 start_x, Int32 start_y, Int32 size_x, Int32 size_y, Int32 rotate, FPDF flags) en PdfiumViewer.NativeMethods.FPDF_RenderPage(IntPtr dc, IntPtr page, Int32 start_x, Int32 start_y, Int32 size_x, Int32 size_y, Int32 rotate, FPDF flags) en PdfiumViewer.PdfFile.RenderPDFPageToDC(Int32 pageNumber, IntPtr dc, Int32 dpiX, Int32 dpiY, Int32 boundsOriginX, Int32 boundsOriginY, Int32 boundsWidth, Int32 boundsHeight, FPDF flags) en PdfiumViewer.PdfDocument.Render(Int32 page, Graphics graphics, Single dpiX, Single dpiY, Rectangle bounds, PdfRenderFlags flags) en PdfiumViewer.PdfPrintDocument.RenderPage(PrintPageEventArgs e, Int32 page, Double left, Double top, Double width, Double height) en PdfiumViewer.PdfPrintDocument.PrintSinglePage(PrintPageEventArgs e) en PdfiumViewer.PdfPrintDocument.OnPrintPage(PrintPageEventArgs e) en System.Drawing.Printing.PrintDocument._OnPrintPage(PrintPageEventArgs e) en System.Drawing.Printing.PrintController.PrintLoop(PrintDocument document) en System.Drawing.Printing.PrintController.Print(PrintDocument document) en System.Drawing.P

            D 1 Reply Last reply
            0
            • R ramonminarro

              I have the same problem. I describe the issue: The process that not work sometimes is a MTA Process it have that code:

              Protected Friend Function PrintCustomDriver(printerSetting As PrinterSettingsAvanzada) As Boolean
              Dim sucess As Boolean = True
              Dim impresoradefecto As String = HumanoSoftware.Helpers.WindowUtil.GetDefaultPrinter
              Try
              Using document = PdfiumViewer.PdfDocument.Load(path)

                Using printDocument = document.CreatePrintDocument()
                   Dim printerDuplicado As PrinterSettingsAvanzada = printerSetting.Clone
                   printerDuplicado.Copies = 1
                   printDocument.PrinterSettings = printerDuplicado
                   printDocument.PrintController = New System.Drawing.Printing.StandardPrintController()
                
                   For indice As Integer = 0 To printerSetting.Copies - 1
                      printDocument.Print()
                   Next
                End Using
              End Using
              

              Catch ex As Exception
              Logger.EscribirException(ex)
              sucess = False
              Finally
              HumanoSoftware.Helpers.WindowUtil.SetDefaultPrinter(impresoradefecto)
              End Try

              Return sucess
              End Function

              Normally it works fine, However, sometimes throw that exception:

              Quote:

              [33][10/03/2022][10:23:23:170][ERROR][. Un componente externo produjo una excepción.. en PdfiumViewer.NativeMethods.Imports.FPDF_RenderPage(IntPtr dc, IntPtr page, Int32 start_x, Int32 start_y, Int32 size_x, Int32 size_y, Int32 rotate, FPDF flags) en PdfiumViewer.NativeMethods.FPDF_RenderPage(IntPtr dc, IntPtr page, Int32 start_x, Int32 start_y, Int32 size_x, Int32 size_y, Int32 rotate, FPDF flags) en PdfiumViewer.PdfFile.RenderPDFPageToDC(Int32 pageNumber, IntPtr dc, Int32 dpiX, Int32 dpiY, Int32 boundsOriginX, Int32 boundsOriginY, Int32 boundsWidth, Int32 boundsHeight, FPDF flags) en PdfiumViewer.PdfDocument.Render(Int32 page, Graphics graphics, Single dpiX, Single dpiY, Rectangle bounds, PdfRenderFlags flags) en PdfiumViewer.PdfPrintDocument.RenderPage(PrintPageEventArgs e, Int32 page, Double left, Double top, Double width, Double height) en PdfiumViewer.PdfPrintDocument.PrintSinglePage(PrintPageEventArgs e) en PdfiumViewer.PdfPrintDocument.OnPrintPage(PrintPageEventArgs e) en System.Drawing.Printing.PrintDocument._OnPrintPage(PrintPageEventArgs e) en System.Drawing.Printing.PrintController.PrintLoop(PrintDocument document) en System.Drawing.Printing.PrintController.Print(PrintDocument document) en System.Drawing.P

              D Offline
              D Offline
              Dave Kreskowiak
              wrote on last edited by
              #6

              I couldn't tell you. The first thing I would look for is an InnerException in the exception that you get.

              Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
              Dave Kreskowiak

              1 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • World
              • Users
              • Groups