我正在尝试通过C#在MySql表中插入值。我在最后阶段发送给MySql的字符串cmdText是这样的:
INSERT INTO sistema1 (*some columns here*, AktivesTeam, *another columns here*)
VALUES (*values here*,'',*more values here*)
问题出在AktivesTeam专栏中。该列设置为Double,我尝试输入的值为空。我该如何解决?
谢谢!
答案 0 :(得分:2)
解决方案1:如果您的列AktivesTeam
支持NULL
值,您可以在插入值时离开该列。
尝试此操作:跳过AktivesTeam
列名称和值
INSERT INTO sistema1 (COLUMN1,COLUMN2) VALUES (VALUE1,VALUE2);
解决方案2:如果您的列AktivesTeam
不支持NULL
值,您可以插入默认double
值0.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。