Die Speicherung von "Text" "TEXT" anstelle von "VarChar" in SQLite - WP8
Bin ich der Speicherung meiner Daten in der lokalen Datenbank SQLite.
Ich habe Zeichenfolge eingegeben paar Variablen zu speichern. Wenn ich jetzt speichern, dass string-Variablen wird es gespeichert, die als "VARCHAR" (wie in der Abbildung unten).
Bild 1
Aber ich wollen, speichern Sie diese Zeichenfolgen als Typ "TEXT" in SQLite. (wie in der Abbildung unten)
Bild 2
Klasse ich bin mit der db zu speichern ist wie folgt:
public class abc
{
[SQLite.AutoIncrement, SQLite.PrimaryKey]
public int _id { get; set; }
public string a { get; set; }
public string b { get; set; }
public string c { get; set; }
public string d { get; set; }
public string e { get; set; }
public string f { get; set; }
public string g { get; set; }
public DateTime date { get; set; }
}
jede Hilfe wird geschätzt.
varchar
istTEXT
imSQLite
so u brauchen nicht zu sorgen !
Du musst angemeldet sein, um einen Kommentar abzugeben.
varchar
istTEXT
imSQLite
so u brauchen nicht zu sorgen!Intern werden die Daten immer als TEXT gespeichert, so dass selbst wenn Sie eine Tabelle erstellen mit
VARCHAR(LEN)
SQLite wird nach den Regeln derTEXT
Daten TypVARCHAR
arbeitete für Sie, oder Sie verändert allesTEXT
nachdem alle?VARCHAR
istTEXT
selbst.varchar
, dann versuchen Sie, wählen Siewhere yourcol = 'somevalue
. Es wird nicht funktionieren. Sie müssenwhere CAST(yourcol AS text) = 'somevalue'
zu arbeitenObwohl es keinen Unterschied zwischen
Text
undVarchar
Datentypen in SQLite, aber wenn Sie es ändern wollen, wie Sie wollen, dies zu tun:Wenn Sie
sqlite-net
(SQLite.cs & SQLiteAsync.cs) in Ihrem WP8.0 app, dann gehen Sie zu SQLite.cs Klasse und finden Sie dieSqlType
Methode (über Linie 1863). Dann können Sie sehenif (clrType == typeof(String))
- Anweisung. Wenn Sie es vorziehenText
Datentyp Sie ändern könnenvarchar
zutext
wie Sie möchten.Als-nach meinem wissen-Text-Typ akzeptiert UTF-8 und Sonderzeichen Symbole, etc. Seine, nicht das gleiche mit Typ Varchar.