![](/img/trans.png)
[英]System.Data.SqlClient.SqlException (0x80131904)) conversion data or time from character to string
[英]System.Data.SqlClient.SqlException: 'Conversion failed when converting date and/or time from character string.'
如何修復以下異常:
System.Data.SqlClient.SqlException:“從字符串轉換日期和/或時間時轉換失敗。”
我想通過使用按日期過濾來制作可以顯示期間詳細信息的表格。
public void LoadSold()
{
int i = 0;
double total = 0;
dgvSold.Rows.Clear();
con.Open();
if (cboSales.Text == "All Sales")
{
command = new SqlCommand("SELECT c.CartID, c.transno, c.ProductID, p.ProdDescription, c.price, c.qty, c.disc, c.total FROM tbCart AS c INNER JOIN Product AS p ON c.ProductID = p.ProductID WHERE status LIKE 'Sold' AND sdate BETWEEN '" + dtFrom.Value + "' AND '" + dtTo.Value + "'", con);
}
else
{
command = new SqlCommand("SELECT c.CartID, c.transno, c.ProductID, p.ProdDescription, c.price, c.qty, c.disc, c.total FROM tbCart AS c INNER JOIN Product AS p ON c.ProductID = p.ProductID WHERE status LIKE 'Sold' AND sdate BETWEEN '" + dtFrom.Value + "' AND '" + dtTo.Value + "' AND cashier LIKE '" + cboSales.Text + "'", con);
}
dr = command.ExecuteReader();
while (dr.Read())
{
i++;
total += double.Parse(dr["total"].ToString());
dgvSold.Rows.Add(i, dr[0].ToString(), dr[1].ToString(), dr[2].ToString(), dr[3].ToString(), dr[4].ToString(), dr[5].ToString(), dr[6].ToString(),dr[7].ToString());
}
dr.Close();
con.Close();
lblTotal.Text = total.ToString("#,##0.00");
}
使用SQLParameter
:
var sql = ".... and sdate between @From ..."
var fromParam = new SqlParameter("@From", SqlDbType.DateTime);
fromParam.Value = dtFrom;
command.Parameters.Add(fromParam);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.