簡體   English   中英

應用程序中返回的記錄數與數據庫中不同

[英]The number of records returned is different in the application than in the database

我正在對以前完美運行並完美返回記錄的應用程序進行更正。 沒有問題。 我有這樣的問題。 例如,我有 3 條狀態為 N 的記錄,它返回 2。依此類推。 它只是不會經常向我返回與數據庫中相同數量的記錄。 與此同時,我經常開發一個可以在生產環境中運行的應用程序。 而且我注意到了這樣的依賴性,例如,我在測試應用程序中看不到的 724xxx 之類的訂單是我在生產中早些時候輸入的訂單,以查看“里面有什么”,因為不幸的是你必須工作。

進入應用程序后,啟動一個給定的方法,它負責連接訂單。

public void Read_Main()
        {         
            
            try
            {
                using (OracleConnection conn = new OracleConnection(Connection.oradb))
                using (OracleCommand cmd = new OracleCommand("SELECT VBELN as ZLECENIE,KUNNR as ODBIORCA,DATA_ZLEC as DATA,UZEIT_ZLEC as GODZINA,MAIL_UTWORZYL as UTWORZYŁ,MAIL_PH as PH, STATUS as ST,WARTOSC_N AS WARTOSC FROM DWS1.AUTOMAT_NGL_POZ", conn))
                {
                    if (conn.State == ConnectionState.Closed)
                    {
                        conn.Open();
                        using (OracleDataReader reader = cmd.ExecuteReader())
                        {

                            reader.Read();

                            DataTable dataTable = new DataTable();
                            dataTable.Load(reader);



                            List<DataRow> newOrders = dataTable.AsEnumerable().Where(x => x.Field<string>("ST") == "N").ToList();


                            foreach (var item in newOrders)
                            {
                                Automation_Positive_Cena_2(conn, item["ZLECENIE"].ToString(), item["ODBIORCA"].ToString(), item["UTWORZYŁ"].ToString(), item["PH"].ToString());
                            }



                            dataGridView1.DataSource = dataTable;
                            dataGridView1.RowHeadersVisible = false;
                            dataGridView2.Hide();
                            label3.Show();
                            dataGridView2.DataSource = "";
                            negativetbox.Clear();



                        }
                        conn.Close();
                    }
                   
                }
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

那不是reader.read()丟棄數據的第一行。 然后你填充DataTable 這就是你少一排的原因嗎?

因此,請嘗試刪除該行並僅填充DataTable

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM