Salut à tous je débute sous PostgreSQL et le langage C#.Pour cela j'ai décidé de créer mes requêtes sous PostgreSQL.
Je vous donne un extrait de ma fonction sous PostgreSQL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
 
CREATE OR REPLACE FUNCTION categorieselectbyid(IN parcategorieid integer)
  RETURNS TABLE(pcategorieid integer, pnomcat character varying, pother1 character varying, pother2 character varying, pother3 character varying) AS
$BODY$
BEGIN 
       RETURN QUERY SELECT categorieid,nomcat,other1,other2,other3 FROM "Categorie"
	WHERE categorieid=parcategorieid;
END;
$BODY$
  LANGUAGE plpgsql;
Voici le code sous Viusal Studio à partir duquel j'appelle ma fonction creé
Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 DataBaseConnection.Open();
            //string sql = "SELECT categorieid,nomcat,other1,other2,other3 FROM \"Categorie\"	WHERE categorieid=" + parCategorieId + ";";
            Cmd = new NpgsqlCommand("categorieselectbyid", DataBaseConnection);
            //categorieselectbyid
            Cmd.CommandType = CommandType.StoredProcedure;
            Cmd.Parameters.Add(new NpgsqlParameter("parcategorieid", NpgsqlDbType.Integer)).Value = parCategorieId;
 
            Da = new NpgsqlDataAdapter(Cmd);
            dt = new DataTable();
 
            Da.Fill(dt);
 
            DataBaseConnection.Close();

A l'exécution j'ai le message suivant

Erreur 42601 erreur de syntaxe sur ou près de <<)>>
Merci d'avance