2014-04-08 4 views
5

Ich speichere meine Daten in der lokalen Datenbank mit SQLite. Ich habe Zeichenfolge eingegeben, um einige Variablen zu speichern. Wenn ich nun diese String-Variablen speichere, wird sie als "VARCHAR" gespeichert (wie im Bild unten).Speichern von "String" als "TEXT" anstelle von "VarChar" in SQLite - WP8

Bild 1

enter image description here

Aber ich will in SQLite diese Zeichenfolgen als "TEXT" Typ speichern. (Wie im Bild unten)

Bild 2

enter image description here

Die Klasse I zu speichern db bin mit 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.

+0

'varchar' ist' TEXT' in 'SQLite', also müssen Sie sich keine Sorgen machen! –

Antwort

7

varchar ist TEXT in SQLite so müssen Sie sich keine Sorgen machen!

Intern werden die Daten immer als Text gespeichert, so dass selbst wenn Sie Tabelle erstellen mit VARCHAR(LEN), SQLite wird die Regeln der TEXT Datentyp

+0

Danke für die Antwort, aber es ist nicht so. Wie ich das Bild postete, gibt es einen Unterschied, und dieser Unterschied macht Inkompatibilitätsprobleme mit der Datenbankdatei, die in anderer Plattform wie Android und ios –

+0

erzeugt wird. Was Inkompatibilität? –

+0

@CL siehe, wir haben Cross-Plattform-App für WP, Android & iPhone. jetzt teilen wir die gemeinsame DB-Datei von SQLite in jeder Plattform. In der Frage, Bild 1 ist der DB-Datei von WP erstellt und Bild 2 ist der DB-Datei von Android erstellt. jetzt, wenn die DB-Datei von WP auf Android-Gerät kopiert, dann werden die Daten nicht auf diesem Gerät angezeigt. das bedeutet VarChar (len) Datentyp erzeugt Problem. wenn wir VarChar (len) manuell in den TEXT-Typ ändern, dann funktioniert es. Gleiches mit iphone app. p.s. Entschuldigung für lange Erklärung. –

0

folgen Zwar gibt es keinen Unterschied zwischen Text und Varchar Datentypen in SQLite ist , aber wenn Sie es ändern, wie Sie wollen wollen, dies tun:

wenn Sie sqlite-net (SQLite.cs & SQLiteAsync.cs) in Ihrer WP8.0 App verwenden, dann gehen Sie zu SQLite.cs Klasse und finden Sie die SqlType Methode (etwa Linie 1863). Dann können Sie if (clrType == typeof(String)) Aussage sehen. Wenn Sie den Datentyp Text bevorzugen, können Sie varchar in text ändern, wie Sie möchten.

+0

scheint wie eine gute Lösung .. !! Ich überprüfe das ..! –

0

Nach meinem Wissen akzeptiert Text Typ UTF-8 und spezielle Zeichen Symbole usw. Es ist nicht das gleiche mit dem Typ Varchar.

Verwandte Themen