2016-12-17 10 views
0

folgende Postgresql Routine Gegeben:Npgsql Anruffunktion/Routine

CREATE OR REPLACE FUNCTION checkemailexists (emailaddress text) RETURNS boolean 
    LANGUAGE plpgsql 
AS $$ 
#print_strict_params on 
DECLARE 
existsCount int; 
BEGIN 
    SELECT count(*) INTO STRICT existsCount 
     FROM usercontacts WHERE usercontacts.contactaddress = emailAddress; 
    IF existsCount > 0 THEN RETURN TRUE; 
    ELSE RETURN FALSE; 
    END IF; 
END 
$$ 

und die folgenden .NET (Npgsql) Block:

public bool EmailExists(string email) 
     { 
      using (var conn = Connection) 
      { 
       conn.Open(); 
       using(var tran = conn.BeginTransaction()) 
       using (var cmd = new NpgsqlCommand("checkemailexists", conn)) 
       { 
        cmd.CommandType = System.Data.CommandType.StoredProcedure; 
        cmd.Parameters.AddWithValue("@emailAddress",NpgsqlTypes.NpgsqlDbType.Text ,"[email protected]"); 
        var ret = (bool)cmd.ExecuteScalar(); 
        return ret; 
       } 
      } 
     } 

Ich halte die folgende Fehlermeldung erhalten

PostgresException: 42883: function checkemailexists(emailAddress => text) does not exist

Ich bin ein völlig neues Postgre und ich bin nicht sehr erfolgreich zu finden relevante Antwortsuche.

Können Sie mir bitte helfen zu verstehen, warum diese Funktion nicht gefunden werden kann, wenn ich versuche, sie anzurufen?

SELECT-Version();

PostgreSQL 9.5.5 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.3.1-14ubuntu2) 5.3.1 20160413, 64-bit

.NET Kern

Npgsql 3.1.9

Vielen Dank!

Antwort

3

Welp ... Case Sensitive ist der Ausdruck des Tages.

emailAddress! = Emailadresse

Verwandte Themen