2017-04-18 100 views
1

我刚刚开始使用PostgreSQL,并且正在尝试执行全文搜索。我在表中列出了一些记录,其中类型的列search。这一切都很好。然而,Npgsql的使用,我想执行:无法将数据库类型tsvector强制转换为字符串

using (var cmd = new NpgsqlCommand()) 
{ 
    cmd.CommandText = "SELECT search FROM data"; 
    cmd.Prepare(); 
    var reader = cmd.ExecuteReader(); 
} 

但我不断收到InvalidCastException

不能施放数据库类型的tsvector为String

我想有我需要添加更多内容才能正确转换类型,但NpgSql的文档似乎几乎不存在。这是不是可以做的事,或者我应该以不同的方式做?

回答

1

我没有NpgsqlCommand的任何知识,但你有没有尝试过这样的事情:

var stringResponse= cmd.ExecuteReader().GetString(0); 
+1

不太正是这样的语法,但你让我想在正确的轨道上,所以我会记住这被接受。出于某种原因,我的调试器正在破坏我的'ExecuteReader()',但问题实际上是使用'GetString(0)',而我正在做的更远一点。我认为只需获得该字段中任何内容的字符串表示(类似于C#'.ToString()')。但显然不是。 'GetValue(0)'是为我工作的。 – RareNCool

相关问题