**已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
昨天关门了。
Improve this question
在一个公共的空白我有这个代码下面。我试图输入信息,它将应该进入数据网格视图,但相反,它说,输入字符串是不是在正确的格式。我将如何解决这个问题?
Boolean hasPurchase = false;
int i =0;
double total = 0;
double discount = 0;
double totalDiscount = 0;
double vatTotal = 0;
double vatDiscount = 0;
dgvCash.Rows.Clear();
cn.Open();
cm = new SqlCommand("SELECT p.ID_Purchase, p.ID_Medicine, m.BrandName, m.GenericName, p.Price, p.Quantity, p.DiscountedQuantity, p.Discount, p.NormalDiscountTotal, p.VatDiscount, p.VatTotal, p.Total from tblPurchase AS p INNER JOIN tblMedicine AS m ON p.ID_Medicine = m.ID_Medicine WHERE p.TransactionNumber LIKE @TransactionNumber and p.Status LIKE 'Pending'", cn);
cm.Parameters.AddWithValue("@TransactionNumber", lblTransNo.Text);
dr = cm.ExecuteReader();
while (dr.Read())
{
i++;
total += Convert.ToDouble(dr["Total"].ToString());
discount += Convert.ToDouble(dr["Discount"].ToString());
totalDiscount += Convert.ToDouble(dr["NormalDiscountTotal"].ToString());
vatTotal += Convert.ToDouble(dr["VatTotal"].ToString());
vatDiscount += Convert.ToDouble(dr["VatDiscount"].ToString());
dgvCash.Rows.Add(i, dr["ID_Purchase"].ToString(), dr["ID_Medicine"].ToString(), dr["BrandName"].ToString(), dr["GenericName"].ToString(), dr["Price"].ToString(), dr["Quantity"].ToString(), dr["DiscountedQuantity"].ToString(), dr["Discount"].ToString(), dr["NormalDiscountTotal"].ToString(), dr["VatDiscount"].ToString(), dr["VatTotal"].ToString(), double.Parse(dr["Total"].ToString()).ToString("#,##0.00"));
hasPurchase = true;
}
dr.Close();
cn.Close();
1条答案
按热度按时间7jmck4yq1#
试试这个方法,我只解析总计行,如果需要,您可以将此逻辑应用于每一行:
这是一个三元值。如果tryparse返回true,这是因为它所采用的值是double类型,则它将采用问号后面的第一个值作为true。如果它返回false(表示它无法解析double),则它将采用第二个值/默认值。tryparse可用于大多数类型。
在我看来这是最好的方法,因为它不会真的失败。如果total在数据库中可以为空,则在?.ToString()中添加一个问号,这样它只在不为空时才运行。
它的工作方式是,如果它解析你的db值失败,它默认为0.00,而不是抛出一个错误。只要你实际上提供了可以是你的tryparse类型的东西,这就是失败证明。如果它不工作,你提供的值没有解析,因为它不可能是你要把它变成的类型。