存储"字符串" as" TEXT"而不是" VarChar"在SQLite中 - WP8

时间:2014-04-08 14:03:20

标签: c# sql sqlite windows-phone-8

我正在使用SQLite将我的数据存储在本地数据库中。 我把字符串输入了几个要存储的变量。现在,当我存储该字符串变量时,它将被存储为“VARCHAR”(如下图所示)。

  

图片1

enter image description here

但我想在SQLite中将这些字符串存储为“TEXT”类型。 (如下图所示)

  

图2

enter image description here

我用来存储db的类如下:

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; }

}

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:7)

varchar中{p> TEXT SQLite,所以你不必担心!

在内部,数据始终存储为TEXT,因此即使您使用VARCHAR(LEN)创建表,SQLite也将遵循TEXT数据类型的规则

答案 1 :(得分:0)

虽然SQLite中的TextVarchar数据类型没有区别,但如果您想以您希望的方式更改它,请执行以下操作:

如果您在WP8.0应用中使用sqlite-net(SQLite.cs& SQLiteAsync.cs),请转到 SQLite.cs 类并找到{{1}方法(约1863年)。然后你可以看到SqlType语句。如果您更喜欢if (clrType == typeof(String))数据类型,则可以根据需要将Text更改为varchar

答案 2 :(得分:0)

据我所知,Text类型接受UTF-8和特殊字符符号等。它与Varchar类型不同。