Hi,
I want to show ID from the table tbl_Payments.
I was trying this code but returns tbl_Payments.PaymentTypeID .
/**Show credit cards**/
// Update these variables to values whatever you are storing in your table
// If you are storing as CARD NUMBER, update this Card Number Attribute Name to CARD NUMBER
string strCardNumberAttributeName = "Credit card number";
// string strCardTypeAttributeName = "Credit card type";
string strExpiryDateAttributeName = "Expiry date";
DataTable dtPaymentDetails = new DataTable();
string queryString = "SELECT tbl_PaymentDetails.PAYMENTID, tbl_PaymentDetails.ATTRIBUTENAME, tbl_PaymentDetails.VALUE, tbl_Payments.ID,tbl_Payments.UserID, tbl_PaymentType.PaymentType FROM TBL_PAYMENTDETAILS INNER JOIN TBL_PAYMENTS ON TBL_PAYMENTDETAILS.PAYMENTID=TBL_PAYMENTS.ID LEFT JOIN TBL_PAYMENTTYPE ON TBL_PAYMENTTYPE.PAYMENTTYPEID=TBL_PAYMENTS.ID WHERE " + //(Guid)Membership.GetUser(Page.User.Identity.Name).ProviderUserKey+"'" +
"ATTRIBUTENAME IN ('" + strCardNumberAttributeName +
"','" + strExpiryDateAttributeName + "') AND UserId='"+(Guid)Membership.GetUser(Page.User.Identity.Name).ProviderUserKey+"' ORDER BY PAYMENTID";
string connectionString = "data source=.\\SQLEXPRESS;Integrated Security=SSPI;" +
"AttachDBFilename=|DataDirectory|\\aspnetdb.mdf;User Instance=true";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
dtPaymentDetails.Load(reader);
string intPreviousCardID = "";
string strCardNumber = "";
string strCardType = "";
string strID = "";
string strExpiryDate = "";
List<CardDetails> cardDetailsList = new List<CardDetails>();
foreach (DataRow row in dtPaymentDetails.Rows)
{
// Get CardID
strID = Convert.ToString(row["ID"]);
string CardID = Convert.ToString(row["PAYMENTID"]);
// if different card iD or last row, add to the list
// and update the Card number and type
if ((CardID != intPreviousCardID && intPreviousCardID != ""))
{
cardDetailsList.Add(new CardDetails()
{
// CardID = intPreviousCardID,
Value = strCardType + ", " + strCardNumber + ", " + strExpiryDate + strID
});
}
strID = Convert.ToString(row["ID"]);
strCardType = Convert.ToString(row["PAYMENTTYPE"]);
if (Convert.ToString(row["ATTRIBUTENAME"]) == strCardNumberAttributeName)
strCardNumber = "x".PadRight(Decrypt(Convert.ToString(row["VALUE"]), SetKey()).Length - 4, 'x') +
Decrypt(Convert.ToString(row["VALUE"]), SetKey()).
Substring(Decrypt(Convert.ToString(row["VALUE"]), SetKey()).Length - 4);
else if (Convert.ToString(row["ATTRIBUTENAME"]) == strExpiryDateAttributeName)
strExpiryDate = Convert.ToString(row["VALUE"]);
if (row == dtPaymentDetails.Rows[dtPaymentDetails.Rows.Count - 1])
cardDetailsList.Add(new CardDetails()
{
CardID = intPreviousCardID,
Value = strCardType + ", " + strCardNumber + ", " + strExpiryDate + strID
});
intPreviousCardID = CardID;
}
ddlChooseCreditCard.DataSource = cardDetailsList;
ddlChooseCreditCard.DataBind();
}
Where is the problem?