içinde bir dize oluştururken tek alıntı kullanma SQLite için FMDB sarmalayıcılarına geçirilecek bir SQL deyimi olarak kullanılmak üzere bir kakao oluşturmaktayım; Ancak, veritabanı bir BAD_ACCESS hatasıyla gider. Aşağıdaki kod var:Kakao
prefix = @ "SELECT * FROM Table WHERE Field1 LIKE '%";
middle = @ "% 'OR Field2 LIKE'%";
suffix = @ "% 'ORDERY BY";
orderby = @ "% 'ORDER BY FieldNames";
sqlStatement = [NSString stringWithFormat: @ "% @% @% @% @% @% @", önek, searchString, middle, searchString, suffix, orderby]; Tablo GELEN
SEÇ * NEREDE FieldNames
TARAFINDAN Alan1 GİBİ \ '% A% \' YA Alanı2 GİBİ \ '% A% \' SİPARİŞ: çalışma zamanı SQLStatement At
aşağıdaki gibi bir şey içeren biter Bazı sebeplerden dolayı veritabanına dizinin eklenmesini sağlayan bir \ 'eklenir.
Dizgimde \ nesnesinin nasıl görünmesini engelleyebilirim?
GÜNCELLEME: NSLog aracılığıyla Ben çıkışı benim değişken aşağıdaki olsun: SEÇ * FROM tablo WHERE Alanı1 LIKE 'OX1.87A8013DBD18F-1027' OR Alanı2 LIKE 'OX1.87A8013DBD18F-1027'ORDER TARAFINDAN AlanAdı.
Sorun, dizede% A kullanılarak görünüyor. SqlStatement değişkenini '% A%' içermesi zor olsa bile,% A bir bellek adresine veya başka bir şeye dönüştürülüyor gibi görünüyor. '% ABAP%' yaparsam çıktıyı 'OX1.87A8013DBD18F-1027BAP' gibi alırım. Dikkat% işaretini kaybediyorum.
gibi bir veritabanından geçirmeniz gerekir. Hangi veritabanını hedefliyorsunuz? – jonnii
Lütfen kodu doğru biçimlendirmek için orijinal gönderiyi düzenleyin. –
Parametreleri kullanmanız gerekiyor. Mesajımı gör. – jonnii