我正在使用NpgsqlDataReader从数据库中读取。 Datareader的“ HasRows = true”,但结果集合为空。
错误-'“枚举未产生结果”。 npgsql版本-4.0.3,.net framework-4.5,VS版本-2015。
我能够将ExecuteScalar触发到相同的数据库并检索数据而没有任何问题。
与NpgsqlDataReader相同的代码在VS 2012中可以正常工作。
这是我的代码。
using (var conn = new NpgsqlConnection(connString))
{
conn.Open();
string sql3 = @"testfunction";
NpgsqlCommand pgcom = new NpgsqlCommand(sql3, conn);
pgcom.CommandType = System.Data.CommandType.StoredProcedure;
NpgsqlParameter para = new NpgsqlParameter();
para.Direction = System.Data.ParameterDirection.Input;
para.ParameterName = @"param1";
para.SourceColumn = @"param1column";
para.Value = 101010;
pgcom.Parameters.Add(para);
NpgsqlDataReader pgreader = pgcom.ExecuteReader();
if (pgreader.HasRows)
{
while (pgreader.Read())
{
string cust_id = pgreader.GetString(1);
...
}
}
我在这里做错了还是我的.Net版本。尝试在.Net 4.0中编译项目,但是没有运气。