Как вставить & lt; '& gt; как строка в базе данных SQLite в android? [Дубликат]

Симон Моурир дал этот пример :

object o = null;
DateTime d = (DateTime)o;  // NullReferenceException

, где unboxing преобразование (литье) из object (или из одного из классов System.ValueType или System.Enum или из типа интерфейса) - тип значения (кроме Nullable<>) сам по себе дает NullReferenceException.

В другом направлении конверсия бокса из a Nullable<>, которая имеет HasValue, равную false , на ссылочный тип, может дать ссылку null, которая затем может привести к NullReferenceException. Классический пример:

DateTime? d = null;
var s = d.ToString();  // OK, no exception (no boxing), returns ""
var t = d.GetType();   // Bang! d is boxed, NullReferenceException

Иногда бокс происходит по-другому. Например, с помощью этого не общего метода расширения:

public static void MyExtension(this object x)
{
  x.ToString();
}

следующий код будет проблематичным:

DateTime? d = null;
d.MyExtension();  // Leads to boxing, NullReferenceException occurs inside the body of the called method, not here.

Эти случаи возникают из-за специальных правил, используемых во время выполнения при боксе Nullable<> экземпляров.

22
задан Hoque 1 December 2011 в 07:11
поделиться

7 ответов

В SQL способ сделать это состоит в том, чтобы удвоить апостроф:

'he doesn''t work for me'

Если вы делаете это программно, вы должны использовать API, который принимает параметры и избегает их для вас, например, подготовленный операторы или аналогичные, а скорее избегают и используют конкатенацию строк для сборки запроса.

58
ответ дан Laurence Gonsalves 28 August 2018 в 19:22
поделиться
INSERT INTO exampleTbl VALUES('he doesn''t work for me')

Если вы добавляете запись через ASP.NET, вы можете использовать объект SqlParameter для передачи значений, поэтому вам не нужно беспокоиться о том, что пользователи вступают в него.

7
ответ дан Ed B 28 August 2018 в 19:22
поделиться

попробуйте это

INSERT INTO exampleTbl VALUES('he doesn''t work for me')
3
ответ дан FosterZ 28 August 2018 в 19:22
поделиться

вы можете использовать обратную косую черту '\', если вы хотите отобразить одну цитату в своем тексте.

INSERT INTO exampleTbl VALUES ('He doesn (\') t ');

-4
ответ дан Muhammad Asif Mahmood 28 August 2018 в 19:22
поделиться
$value = "he doesn't work for me";

$new_value = str_replace("'", "''", "$value"); // it looks like  " ' "  , " ' ' " 

INSERT INTO exampleTbl (`column`) VALUES('$new_value')
0
ответ дан rubo77 28 August 2018 в 19:22
поделиться

да, сервер sql не позволяет вставлять одиночную кавычку в поле таблицы из-за атаки на SQL-инъекцию. поэтому при сохранении мы должны заменить единый appostrophe на double.

(он не работает для меня) должен быть => (он не работает для меня)

-2
ответ дан tika 28 August 2018 в 19:22
поделиться
insert into table1 values("sunil''s book",123,99382932938);

использовать двойной апостроф внутри одного апострофа, он будет работать

-1
ответ дан ρss 28 August 2018 в 19:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: