2013-05-18 4 views
0

В ASP.NET/C# я работаю с двумя таблицами; Cart_LineItems и продукты. Я присоединился к двум таблицам и создал новый столбец под названием «Расширение», который умножал «Products.UnitPrice» на «Cart_LineItems.Quantity». Это мой полный SQL-запрос.Как получить сумму созданного столбца из объединенной таблицы? SQL/C#

SELECT Cart_LineItems.ProductID, Products.Name, Products.UnitPrice, 
    Cart_LineItems.Quantity, Products.UnitPrice * Cart_LineItems.Quantity 

AS Extension, Cart_LineItems.CartNumber 
FROM (Cart_LineItems 
INNER JOIN Products 
ON Cart_LineItems.ProductID = Products.ProductID) 
WHERE (Cart_LineItems.CartNumber = ?) 

Этот запрос работает нормально и заполняет GridView так, как я его хочу. Как получить сумму полей в столбце «Расширение» и поместить результаты в TextBox в веб-форме?

Это код C#, который я использую в коде за классом.

String strAddSQL = ""; 

strAddSQL = "SELECT SUM(extension) as subtotal FROM (Cart_LineItems 
    INNER JOIN Products ON Cart_LineItems.ProductID = Products.ProductID)"; 

    OleDbConnection myAddConn = new OleDbConnection(); 
    OleDbDataReader myAddReader; 
    myAddConn.ConnectionString = this.SqlDataSource1.ConnectionString; 
    OleDbCommand myAddCmd = new OleDbCommand(strAddSQL, myAddConn); 
    myAddConn.Open(); 
    myAddReader = myAddCmd.ExecuteReader(); 
    while (myAddReader.Read()) 
    { 
     txtSubTotal.Text = Convert.ToString(myAddReader["subtotal"]); 

    } 
    myAddReader.Close(); 
    myAddConn.Close(); 

Спасибо

ответ

0

вы должны попробовать этот тип:

DataTable dt = new DataTable(); 
      int sum = 0; 
      foreach (DataRow dr in dt.Rows) 
      { 
       foreach (DataColumn dc in dt.Columns) 
       { 
        sum += (int)dr[dc]; 
       } 
      } 
Смежные вопросы