ios – 使用FMDB和NSDictionary将NULL值添加到SQLite数据库

ios – 使用FMDB和NSDictionary将NULL值添加到SQLite数据库,第1张

概述我遇到了一些问题22.我正在使用FMDB的花式withParameterDictionary方法将数据插入到我的SQLite数据库中,如下所示: NSDictionary *aircraftDict = [NSDictionary dictionaryWithObjectsAndKeys: self.aircraftIdTextField 我遇到了一些问题22.我正在使用FMDB的花式withParameterDictionary方法将数据插入到我的sqlite数据库中,如下所示:

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数据库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1017723.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存