![](/img/trans.png)
[英]How to sum up multiple time records on a given date in database. Error:Subquery returned more than 1 value
[英]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.