-1
のDataGridViewします読み出しデータはIは、MySQLからデータを読み込み、以下のようなコードでのDataGridViewに表示しようとしています
Dim totalManagerQuantity As Integer
Dim totalStaffQuantity As Integer
Dim totalProductionQuantity As Integer
Dim totalSalesManager As Double
Dim totalSalesStaff As Double
Dim totalSalesProduction As Double
sqL = "SELECT TDate, InvoiceNo,
(
SELECT TD.Quantity
FROM TransactionDetails as TD
WHERE TD.InvoiceNo = T.InvoiceNo
AND TD.ProductNo = 1
) as ManagerQuantity,
(
SELECT TD.ItemPrice
FROM TransactionDetails as TD
WHERE TD.InvoiceNo = T.InvoiceNo
AND TD.ProductNo = 1
) as ManagerPrice,
(
SELECT TD.Quantity
FROM TransactionDetails as TD
WHERE TD.InvoiceNo = T.InvoiceNo
AND TD.ProductNo = 2
) as StaffQuantity,
(
SELECT TD.ItemPrice
FROM TransactionDetails as TD
WHERE TD.InvoiceNo = T.InvoiceNo
AND TD.ProductNo = 2
) as StaffPrice,
(
SELECT TD.Quantity
FROM TransactionDetails as TD
WHERE TD.InvoiceNo = T.InvoiceNo
AND TD.ProductNo = 3
) as ProductionQuantity,
(
SELECT TD.ItemPrice
FROM TransactionDetails as TD
WHERE TD.InvoiceNo = T.InvoiceNo
AND TD.ProductNo = 3
) as ProductionPrice
FROM Transactions as T
WHERE TDate BETWEEN '" & frmFilterReportInvoice.dtpStartDate.Value.ToString("MM/dd/yyyy") & "'
AND '" & frmFilterReportInvoice.dtpEndDate.Value.ToString("MM/dd/yyyy") & "'
AND StaffID = '" & lblTempStaffID.Text & "'"
ConnDB()
cmd = New MySqlCommand(sqL, conn)
dr = cmd.ExecuteReader
dgvReportInvoice.Rows.Clear()
dgvTotalQuantity.Rows.Clear()
totalManagerQuantity = 0
totalStaffQuantity = 0
totalProductionQuantity = 0
totalSalesManager = 0
totalSalesStaff = 0
totalSalesProduction = 0
Do While dr.Read = True
dgvReportInvoice.Rows.Add(dr("TDate"), dr("InvoiceNo"), dr("ManagerQuantity"), dr("StaffQuantity"), dr("ProductionQuantity"))
'Compute total manager, staff and production to Display
totalManagerQuantity += dr("ManagerQuantity")
totalStaffQuantity += dr("StaffQuantity")
totalProductionQuantity += dr("ProductionQuantity")
'Calculate the total amount per products
totalSalesManager += (dr("ManagerPrice") * dr("ManagerQuantity"))
totalSalesStaff += (dr("StaffPrice") * dr("StaffQuantity"))
totalSalesProduction += (dr("ProductionPrice") * dr("ProductionQuantity"))
Loop
しかし、私のコードは、エラーがある場合につきなどのプロセス計算量(+ =)以下では、私の問題を解決する方法と、正しいコードとは何ですか、おかげです。
P.S.私のテーブルにデータがない場合、エラーが発生します。 http://imgur.com/a/2BIAd
よろしく、
「回答」やタイトルに「解決しよう」を入れないでください。ここで、適切なことは、あなたの問題を解決した答えの横にあるチェックマークをクリックすることです。詳細については、[ツアー]をご覧ください。[質問] - エラーメッセージの画像へのリンクがうまく受信されていません。 SQLパラメータも使用する必要があります。これにより、コードが簡単になります。 – Plutonix