【发布时间】:2019-11-18 19:01:26
【问题描述】:
我需要编写一个 C# 程序,它必须能够管理我服务器上的数据。我有一个带有数据表的 NPGSQL 服务器,我可以向其中写入数据,但是在运行程序时我无法读取数据。我做错了什么?
public NpgsqlDataReader reader;
public NpgsqlCommand InsertCommand = new NpgsqlCommand();
public String sConnectionString;
public Npgsql.NpgsqlConnection Conn;
public void DataBaseOpen()
{
sConnectionString = "Server=192.168.1.100;Port=5432;Username=postgres;Password=admin;Database=analoginput;Pooling=false;MinPoolSize=1;MaxPoolSize=999;Timeout=15;";
Conn = new Npgsql.NpgsqlConnection(sConnectionString);
InsertCommand = Conn.CreateCommand();
Conn.Open();
}
public void DataBaseClose()
{
Npgsql.NpgsqlConnection.ClearAllPools();
Conn.Close();
}
InsertCommand.CommandText = "Select * From public.sensorlog WHERE \"date\" > '2019.07.08.' And \"date\" < '2019.07.10.' order by Date asc;";
System.Windows.MessageBox.Show(InsertCommand.CommandText);
Npgsql.NpgsqlDataReader reader = InsertCommand.ExecuteReader();
System.Data.DataTable CSV = new System.Data.DataTable();
while (reader.Read())
{
CSV.Load(reader);
}
我想将数据加载到 CSV 数据表中,但我无法让它工作。数据表只是空的。
【问题讨论】:
-
您是否尝试将
WHERE替换为LIMIT以查看日期匹配是否有问题? -
我在 pgadmin 查询工具中使用了完全相同的命令,它可以工作
-
另外,即使我删除了所有限制,并且我的命令是“SELECT * FROM public.sensorlog”,数据表仍然为空
-
删除
CommandText字符串中的;,可能不会影响它 - 但也不需要 -
还是什么都没有,我就是想不通..在另一个程序中它就像魅力一样工作
标签: c# .net database server npgsql