2011-04-08 8 views
6

मुझे पता है कि आईफोन विकास के माध्यम से एसक्लाइट डेटाबेस कैसे बनाएं, इसमें डेटा डालें, इसमें पंक्ति डालें, लेकिन मैं पूरे डेटाबेस को प्रोग्रामेटिक रूप से हटाने की कोशिश कर रहा हूं, लेकिन कोई मदद नहीं मिल रहा है। कृपया कोई मुझे गाइड करें कि कोड के माध्यम से डिवाइस से पूरे स्क्लाइट डेटाबेस को कैसे हटाएं/हटाएं।आईफोन: SQLite डेटाबेस को हटा/हटाना?

धन्यवाद!

उत्तर

0

क्या आपकी फ़ाइल निर्देशिका में डेटाबेस फ़ाइल है और बंडल में नहीं है, आप फ़ाइल को हटाने के लिए NSFileManager का उपयोग कर सकते हैं। सुनिश्चित करें कि किसी भी प्रगति से खुला नहीं है।

0

यदि आप संपूर्ण डेटाबेस को हटाना चाहते हैं तो आपको इसे फ़ाइल सिस्टम में ढूंढना होगा और वहां इसे हटा देना होगा।

16

अपने डाटाबेस दस्तावेज़ में है, तो आप की कोशिश कर सकते हैं:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *filePath =  [documentsDirectory stringByAppendingPathComponent:@"youdb.db"]; 

if([[NSFileManager defaultManager] fileExistsAtPath:filePath]){ 
    [[NSFileManager defaultManager] removeItemAtPath:filePath error:nil]; 
} 
1

आप दृश्य स्टूडियो में Xamarin उपयोग कर रहे हैं यह अच्छी तरह से काम करेगा

NSError *err; 

NSFileManager *fm = [NSFileManager defaultManager]; 

err = nil; 

NSString *deleteFileName = [NSString stringWithFormat:@"%@/FileName",[[NSBundle mainBundle] resourcePath]]; 

NSURL *url = [NSURL fileURLWithPath:deleteFileName]; 

[fm removeItemAtPath:[url path] error:&err]; 

if(err) 

{ 

NSLog(@"File Manager: %@ %d %@", [err domain], [err code], [[err userInfo] description]); 

} 

else 

{ 

NSLog(@"File %@ deleted.",fileName); 

} 
1

की कोशिश करो।

string _FileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "databaseFileName.db3");  
File.Delete(_FileName); 
संबंधित मुद्दे