【发布时间】:2013-09-09 02:06:21
【问题描述】:
您好,我收到了这个查询,我想返回 '0,00' 而不是 '0'
当我尝试这样写时:
string sqlcom = "SELECT (ISNULL(s_prijmy, 0,00)), * FROM zajezd WHERE akce >= '" + txt_od.Text + "'AND akce <='" + txt_do.Text + "' AND rocnik='" + klientClass.Rocnik() + "'";
它给了我以下异常:
System.InvalidCastException:指定的强制转换无效。在 System.Data.SqlClient.SqlBuffer.get_Decimal()
请问我该如何解决?
提前致谢。
这个“0,00”的未来用途应该如下:
this.chart1.Series["Příjmy"].Points.AddXY(myreader.GetString(myreader.GetOrdinal("akce")), myreader.GetDecimal(34).ToString()); // the 34th column
【问题讨论】:
-
虽然不是答案,但我应该指出,您应该使用参数,不要将 SQL 字符串与您想要的值连接。
-
我记得有些人给了你一些关于使用
SqlParameterCollection.AddWithValue的建议(以避免SQL injection),但你仍然使用string concatenation? -
你对价值和它的表现感到困惑。
标签: c# sql sql-server winforms