1
我越來越沮喪。是的,我是一個新手,在C#和SQL服務器上2周。請在我身上輕鬆一點。這個命令應該是將InvDate,InvoiceNo,TaxAmount和SubTotal打印爲金額。它也應該從另一張名爲PatientsDetails的表中拖拽Patientdetails。兩者的關鍵是MedicalRecordID。打印時缺失列
SqlCommand objCmd =
new SqlCommand("SELECT CONVERT(char(80), inv.[InvDate],3)
AS InvDate,inv.[InvoiceNo],inv.[TaxAmount] + inv.[SubTotal]
AS Amount,
'' AS Payment
FROM [Invoice] inv
LEFT JOIN [PatientDetails] tab
ON inv.[MedicalRecordID] = tab.[MedicalRecordID]
WHERE (inv.[InvDate] >= CONVERT(datetime, '" +
dtpFrom.Text + "', 105))
AND (inv.[InvDate] <= CONVERT(datetime, '" +
dtpTo.Text + "', 105))",
objConn);
這下一組命令是打印出來,因爲我希望它是。
for (int i = 0; i < 4; i++)
{
if (!objReader.IsDBNull(i))
{
string s;
s = objReader.GetDataTypeName(i);
//MessageBox.Show(s);
if (objReader.GetDataTypeName(i) == "char")
{
sw.Write(objReader.GetString(i));
}
else if (objReader.GetDataTypeName(i) == "money")
{
sw.Write(objReader.GetSqlMoney(i).ToString());
}
else if (objReader.GetDataTypeName(i) == "nvarchar")
{
sw.Write(objReader.GetString(i));
}
}
if (i < 3)
{
sw.Write("\t");
}
}
count = count + 1;
sw.WriteLine();
這是我的SQL查詢,我猜顯然是錯誤的,因爲我沒有添加一個SubTotal,但這實際上是我想要的。 InvoiceNo,InvDate,SubTotal標記給用戶。
SELECT Invoice.InvDate,
Invoice.InvoiceNo,
Invoice.TaxAmount + Invoice.SubTotal,
PatientDetails.GivenName
FROM Invoice
INNER JOIN PatientDetails
ON (Invoice.MedicalRecordID = PatientDetails.MedicalRecordID)
謝謝。精彩的工作! – Newbie 2012-08-02 01:39:59