Как проверить, существует ли запись в sqlite

#ios #sqlite #uitableview

#iOS #sqlite #uitableview

Вопрос:

Привет, в приложении я уже вставил некоторые данные в свою sqlite базу данных, теперь я хочу проверить, вставлена конкретная запись или нет в sqlite . Я работаю в UITableView . Я хочу проверить, используя мой идентификатор продукта, это уникальный идентификатор. Идентификатор, который поступает с моего сервера. Я хочу проверить, является ли конкретный идентификатор exit в моей sqlite базе данных. Я сохранил свой идентификатор в NSMutableArray .

Мой код для сохранения arrayid в строку в моем UITableViewcell .

  for (int i=0; i<[menuarray2 count]; i  ) {
    rowvalue =[menuarray2 objectAtIndex:i];
     NSLog(@"rowid%@",rowvalue);
}
  

Я передал строку в свой запрос sqlite, в котором отображается значение null.

    -(void)checkdata:(NSString*)query{
      NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
     NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *databasePath = [documentsDirectory stringByAppendingPathComponent:@"bp.sqlite"];

  if(sqlite3_open([databasePath UTF8String],amp;_myDataBase) == SQLITE_OK)
   {
       NSString *querySQL = [NSString stringWithFormat: @"%@",query];

       char *errmsg=nil;

    if(sqlite3_exec(_myDataBase, [querySQL UTF8String], NULL, NULL, amp;errmsg)==SQLITE_OK)
      {
        NSLog(@".. id ..");
      }
    }
    sqlite3_close(_myDataBase);
  }
  

-(void)количество строк{

  NSLog(@"rowdata%@",rowvalue);
   NSString  *sql = [NSString stringWithFormat:@"SELECT * from br where PID='%@'",rowvalue];
  NSLog(@"%@",sql);
[self checkdata:sql];
}
  

Я использую выше для проверки, но в консоли отображается значение null, которое выводит запрос, подобный

 SELECT * from br where PID='(null)'
  

Пожалуйста, скажите мне, как решить эту проблему, я застрял здесь надолго, пожалуйста, помогите мне.

Спасибо..

Комментарии:

1. вы хотите проверить ваш sqlite вручную или программно

2. Попробуйте изменить инструкцию sql с SELECT * from br where PID='(null)' на SELECT * from br where PID like '%null%'

3. попробуйте это SELECT * from br, где PID КАК ‘%null%’ этот метод используется для проверки или сопоставления с конкретным объектом в вашей таблице

4. перед этим вам нужно проверить, равно нулю или нет, если оно равно нулю, покажите метод вставки, иначе удалите часть