C# SQLite将字符存储为字符串?
我正在使用System.Data.SQLite ADO.Net提供程序与SQLite DB交互。我使用以下语法创建了一个新表:C# SQLite将字符存储为字符串?,c#,sqlite,C#,Sqlite,我正在使用System.Data.SQLite ADO.Net提供程序与SQLite DB交互。我使用以下语法创建了一个新表: CREATE TABLE [tb_Replace] ([Character] CHAR(1), [Substitute] CHAR(1)) 然后,我尝试使用一个简单的选择来读取数据: public static List<char> GetReplaceableCharacters(string connectionString) { List&l
CREATE TABLE [tb_Replace] ([Character] CHAR(1), [Substitute] CHAR(1))
然后,我尝试使用一个简单的选择来读取数据:
public static List<char> GetReplaceableCharacters(string connectionString)
{
List<char> replaceableCharacters = new List<char>();
SQLiteConnection sqlConnection = new SQLiteConnection(connectionString);
sqlConnection.Open();
using (SQLiteTransaction transaction = sqlConnection.BeginTransaction())
{
SQLiteCommand command = new SQLiteCommand(@"SELECT Character FROM tb_Replace", sqlConnection);
SQLiteDataReader reader = command.ExecuteReader();
while (reader.Read())
replaceableCharacters.Add((char)reader["Character"]);
}
sqlConnection.Close();
return replaceableCharacters;
}
公共静态列表GetReplacableCharacters(字符串连接字符串)
{
List replacablecharacters=新列表();
SQLiteConnection sqlConnection=新的SQLiteConnection(connectionString);
sqlConnection.Open();
使用(SQLiteTransaction=sqlConnection.BeginTransaction())
{
SQLiteCommand=newSQLITECommand(@“从tb_替换中选择字符”,sqlConnection);
SQLiteDataReader=command.ExecuteReader();
while(reader.Read())
可替换字符。添加((字符)读取器[“字符”]);
}
sqlConnection.Close();
返回可替换字符;
}
然而,当我这样做的时候,它抛出了一个无效的例外。但是,如果我将返回类型更改为列表
,并将读取器[“Character”]
转换为字符串,则可以正常工作。有人知道为什么会这样吗?请阅读
Sqlite有五种类型亲缘关系(表的一列首选的类型)和五种存储类(可能的实际值类型)。它们之间没有字符
类型
Sqlite允许您为列创建指定几乎任何类型。但除了
INTEGER主键
列之外,它并没有对所有列强制执行类型。它识别一些声明类型名称的子字符串来确定列类型亲缘关系,因此字符
、木炭
和上下文化
都是编写文本
的有趣方式,字符串是IEnumerable的,因此例如to可以声明如下`List someChars=new List()代码>var someCharArray=“abcdefghijklmnopqrstuvxyz”.ToList()
然后将其应用到您的示例中,希望这能让您了解如何使用列表
,如果您展示一个SQL Select语句返回内容的示例,这样我们就可以看到数据的样子了。谢谢