2
我做了一個簡單的數據庫應用程序,但是我在添加最後一列時遇到了問題。金額欄需要從PRODUCTS表中填入Yearly Premium,然後根據每年(1),每月(12)或每兩週(26)支付的金額除以1,12或26。我的查詢出現問題
我假設我需要使用ProductID加入SALES和PRODUCTS表,但無法弄清楚如何填充金額列取決於他們如何支付(F/M/Y)。
下面是程序中每個表格的兩個屏幕截圖,以及此時用於填充「主要銷售」表單的代碼。
private void DisplaySales()
{
string selectQuery;
selectQuery = "SELECT * FROM Sales";
List<Sale> saleList = new List<Sale>();
try
{
// Automatically open and close the connection
using (var conn = ConnectionManager.DatabaseConnection())
using (var cmd = new SqlCommand(selectQuery, conn))
using (var rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
//Define the list items
var sale = new Sale(
int.Parse(rdr["SaleID"].ToString()),
int.Parse(rdr["CustomerID"].ToString()),
int.Parse(rdr["ProductID"].ToString()),
rdr["Payable"].ToString(),
DateTime.Parse(rdr["StartDAte"].ToString()));
saleList.Add(sale);
}
dgvSales.DataSource = saleList;
}
}
catch (Exception ex)
{
MessageBox.Show("Unsuccessful" + ex);
}
}
感謝您對滿口關於我的問題的任何幫助。
感謝您的評論。這是完全意義上的。我試圖實現您的解決方案,現在正在獲取此錯誤。不知道爲什麼我把它變成了一個INT,並且我創造了一個新的課程。 https://i.imgur.com/RjJBldq.png 這就是我實現你的代碼的方式。 https://pastebin.com/xCrWLuq7 我有一種感覺,這個錯誤是由於它只能從左到右讀一次或什麼東西。 – Rick1990
如果您正在討論從左到右閱讀專欄,我不認爲這會是。也許有些事情與rdr列的數據類型有關。我會假設來自數據庫的INT和varchar列自動爲int和字符串類型 – cjkeilig
他媽的人。謝謝我實際上已經發現,在輸入此評論之前,我需要在大約2分鐘前使用小數。自從我拿起這個項目已經有一段時間了,並且非常生鏽。知道了所有的工作,現在歡呼! – Rick1990