NSDictionary *aircraftDict = [NSDictionary dictionaryWithObjectsAndKeys: self.aircraftIDTextFIEld.text,@"aircraft_ID",self.makeModelTextFIEld.text,@"make_model",self.categoryClasstextFIEld.text,@"category_class",@YES,@"updated_flag",nil];Nsstring *addAircraftquery = @"INSERT INTO aircrafts (aircraft_ID,make_model,category_class,updated_flag) VALUES (:aircraft_ID,:make_model,:category_class,:updated_flag)";[db executeUpdate:addAircraftquery withParameterDictionary:aircraftDict];
问题是,当其中一个文本字段为空时,它会截断NSDictionary,因为nil值告诉字典它已到达其值列表的末尾.
我可以通过确保字典中的每个值都有一个空白对象来解决这个问题(例如像字符串@“”).
但是我的值在我的sqlite数据库中作为“空白”值而不是NulL.这可能不是什么大问题,但我听说使用NulL会占用数据库中较少的空间.
如何在不过早截断我的NSDictionary的情况下将NulL插入到我的数据库中?
解决方法 你可以通过不使用“fancy”withParameterDictionary方法来实现它,而是像这样使用枯燥的executeUpdate:Nsstring *addAircraftquery = @"INSERT INTO aircrafts (aircraft_ID,updated_flag) VALUES (?,?,?)";[db executeUpdate:addAircraftquery,self.aircraftDict,@YES];总结
以上是内存溢出为你收集整理的ios – 使用FMDB和NSDictionary将NULL值添加到SQLite数据库全部内容,希望文章能够帮你解决ios – 使用FMDB和NSDictionary将NULL值添加到SQLite数据库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)