The following bug has been logged online: Bug reference: 3611 Logged by: Email address: [EMAIL PROTECTED] PostgreSQL version: 8.2.4 Operating system: Windows XP Description: The first INSERT return -1 with prepare() before Details:
DbProviderFactory dbpf = DbProviderFactories.GetFactory("Npgsql"); ..... dbConnect = dbpf.CreateConnection(); dbConnect.ConnectionString = dbCsb.ConnectionString; dbConnect.Open(); ----> OK dbCmd_Select = dbConnect.CreateCommand(); dbCmd_Insert = dbConnect.CreateCommand(); dbCmd_Select.CommandText = "SELECT col_1, col_2....FROM mytable Where ...." dbCmd_Select.Prepare(); ---> OK dbCmd_Insert.CommandText = "INSERT ...." this INSERT only add one row dbCmd_Insert.Prepare(); ----> OK .... int RowAdded; RowAdded = dbCmd_Insert.ExecuteNonQuery(); ---> KO return -1 RowAdded = dbCmd_Insert.ExecuteNonQuery(); ---> OK return 1 RowAdded = dbCmd_Insert.ExecuteNonQuery(); ---> OK return 1 RowAdded = dbCmd_Insert.ExecuteNonQuery(); ---> OK return 1 ...... //------ NOTE File NpgsqlMLediator.cs------- public void AddCompletedResponse(String response) { if (_rd != null) The first INSERT executes this code // Finished receiving the resultset. Add it to the buffer. _resultSets.Add(new NpgsqlResultSet(_rd, _rows)); // Add a placeholder response. _responses.Add(null); // Discard the RowDescription. _rd = null; } else { The other INSERT uses this code // Add a placeholder resultset. _resultSets.Add(null); // It was just a non query string. Just add the response. _responses.Add(response); } } //-------------- if I delete the line dbCmd_Select.Prepare(), the first INSERT is OK Best Regards ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org