我想用NpgsqlDataAdapter填充DataTable。我準備我的命令,DataAdapter在填寫DataTable時拋出錯誤
string [email protected]" drop table if exists tempdata;
create temp table tempdata as SELECT X X X X from (_query_);
SELECT x+x, xx, x-y INTO newTempTable FROM tempdata;
並採用以下功能DataTable中
public DataTable Searchpg(string CommandString, NpgsqlParameter[] param)
{
DataTable ResultTable = new DataTable();
try
{
OpenConnection();
DbCommandpg.CommandText = CommandString;
DbCommandpg.Connection = DatabaseConnectionpg;
DbCommandpg.Parameters.Clear();
if (param != null)
{
DbCommandpg.Parameters.AddRange(param);
}
adappg.SelectCommand = DbCommandpg;
ResultTable.Clear();
adappg.Fill(ResultTable);
}
catch (Exception ex)
{
File.writeException(ex.Message, null);
throw ex;
}
finally
{
DatabaseConnectionpg.Close();
}
return ResultTable;
}
錯誤填寫的數據發生在adappg.Fill(ResultTable);
和錯誤消息是{「42P01:關係「tempdata \」不存在「}
我使用的版本Npgsql的3.0.2.0,VS 2013和的Postgres 9.3
但是當我運行在pgAdmin的SQL編輯器相同的查詢,它運行精細,並返回結果爲每期望。
UPDATE:查詢工程進展順利與2.0.1.0
Npgsql的,但不與3.x
從哪個表中您需要創建tmp表? –
嘗試像這樣'drop table if tempdata;創建臨時表tempdata作爲選擇p_invno,edate,代碼,產品,數量,單價,從tbl'轉碼,爲什麼你用來創建一個Temp表來填充數據表,你可以直接使用select語句來填充! –
我試圖從查詢結果 – Bunzitop