数据被截断为列,但截断的数据是空的C#/ MySql

时间:2014-04-26 01:52:19

标签: c# mysql sql

我正在尝试通过C#在MySql表中插入值。我在最后阶段发送给MySql的字符串cmdText是这样的:

INSERT INTO sistema1 (*some columns here*, AktivesTeam, *another columns here*) 
                                   VALUES (*values here*,'',*more values here*)

问题出在AktivesTeam专栏中。该列设置为Double,我尝试输入的值为空。我该如何解决?

谢谢!

2 个答案:

答案 0 :(得分:2)

解决方案1:如果您的列AktivesTeam支持NULL值,您可以在插入值时离开该列。

尝试此操作:跳过AktivesTeam列名称和值

INSERT INTO sistema1 (COLUMN1,COLUMN2) VALUES (VALUE1,VALUE2);

解决方案2:如果您的列AktivesTeam不支持NULL值,您可以插入默认double0.0

试试这个:

INSERT INTO sistema1 (COLUMN1,AktivesTeam , COLUMN2) VALUES (VALUE1,0.0,VALUE2);

建议:您需要使用参数化查询来避免 SQL注入攻击

答案 1 :(得分:0)

您应该有一些映射逻辑来映射到数据库/从数据库映射到对象模型。

由于您的对象模型似乎允许AktivesTeam为空字符串或null,因此您的映射逻辑可以容纳对数据库的更改。

如果你正在使用参数化查询,它可能看起来像这样:

parameters.AddParameter("?AktivesTeam ", string.IsNullOrEmpty(myModel.AktivesTeam) ? 0.0 : Convert.ToDouble(myModel.AktivesTeam));

如果您的列支持NULL值,则可以用NULL替换0.0。