You told the SELECT statement to return only the columns from the Invoices table with the "Invoices.*":
SELECT Invoices.* FROM Invoices inner JOIN Customers
ON Invoices.custID = Customers.custID
where Invoices.custID ...
By the way, NEVER use SELECT *. ALWAYS spell out every column name you want returned.
Also, the following code is utter garbage. You should NEVER have to figure out which column is the first column:
if (Rdr.GetName(0).ToString() == "InvoiceID")
InvoiceID_ = Rdr.GetValue(0).ToString();
else if (Rdr.GetName(0).ToString() == "FromOrderID")
FromOrderID_ = Rdr.GetValue(0).ToString();
else if (Rdr.GetName(0).ToString() == "FinalPriceWithTax")
{
InvFinalPriceWithTax_ = decimal.Parse(Rdr.GetValue(0).ToString());
}
You should just convert the values you need directly by column name, not index:
InvoiceID_ = (string)Rdr["InvoiceID"];
FromOrderID_ = (string)Rdr["FromOrderID"];
InvFinalPriceWithTax_ = (decimal)Rdr["FinalPricesWithTax"];