나는 꽤 좌절하고 있습니다. 네, C# 및 SQL 서버에서 2 주 된 새내기입니다. 제발 쉽게가주세요. 이 명령은 InvDate, InvoiceNo, TaxAmount 및 SubTotal을 Amount로 인쇄합니다. 또한 PatientDetails라는 다른 테이블에서 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