2016-06-06 8 views
-2

hier die Fehler einzufügen versucht hat:einen Fehler erhalten, sobald eine Tabelle Wertparameter

"The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Table-valued parameter 16 ("@InsertRateDetials"), row 0, column 0: Data type 0xF3 (user-defined table type) has a non-zero length database name specified. Database name is not allowed with a table-valued parameter, only schema name and type name are valid."

private void Build() 
     { 
      SqlParameter[] parameters = 
       { 
        new SqlParameter("@libLimitationID" , LibLimitation.LibLimitationID), 
        new SqlParameter("@admSectionId"  , LibLimitation.Section.SectionID), 
        new SqlParameter("@libMARCFrameworkID" , LibLimitation.MARCFramework.LibMARCFrameworkID), 
        new SqlParameter("@admPatronTypeID" , LibLimitation.PatronType.admPatronTypeID), 
        new SqlParameter("@ResLimit"   , LibLimitation.ResLimit), 
        new SqlParameter("@RenLimit"   , LibLimitation.RenLimit), 
        new SqlParameter("@LoanPeroid"   , LibLimitation.LoanPeriod), 
        new SqlParameter("@LoanLimit"   , LibLimitation.LoanLimit), 
        new SqlParameter("@Fine"    , LibLimitation.Fine), 
        new SqlParameter("@DateEffective"  , LibLimitation.DateEffective), 
        new SqlParameter("@InsertedUserID"  , LibLimitation.InsertedUserID), 
        new SqlParameter("@DateInsert"   , LibLimitation.DateInsert), 
        new SqlParameter("@UpdatedUserID"  , LibLimitation.UpdatedUserID), 
        new SqlParameter("@DateUpdate"   , LibLimitation.DateUpdate), 
        new SqlParameter("@RenPeriod"   , LibLimitation.RenewalPeriod), 
        new SqlParameter("@InsertRateDetials" , LibLimitation.RateDetails) 
       }; 

      Parameters = parameters; 
     } 

Oben ist die Liste der Parameter Ich versuche, meine gespeicherten Prozedur zu übergeben. Der Fehler wird durch die letzte Linie verursacht wird, die ist,

new SqlParameter("@InsertRateDetials" , LibLimitation.RateDetails) 

Tarifdetails eine Datentabelle ist.

+0

Wo ist Ihr Code? – MusicLovingIndianGirl

+0

Können Sie Code anzeigen? – Mairaj

+0

Ich füge den Code hinzu. – Malika

Antwort

0

Normalerweise liefern wir DbType von SqlParameter für einen normalen Parameter wie varchar, nvarchar, int und so weiter wie im folgenden Code.

Beispiel:

SqlParameter sqlParam= new SqlParameter(); 
sqlParam.ParameterName = "@StudentName"; 
sqlParam.DbType = DbType.String; 
sqlParam.Value = StudentName; 

Aber im Falle eines Tabellenparameter, wir brauchen keine DbType als Parameter Datentyp zur Verfügung zu stellen. Wir müssen SqlType anstelle von DbType bereitstellen.

Beispiel:

SqlParameter Parameter = new SqlParameter; 
Parameter.ParameterName = "@PhoneBook"; 
Parameter.SqlDbType = SqlDbType.Structured; 
Parameter.Value = PhoneTable; 

Weitere Details: Refer this

+0

Problem ist gelöst.Thanks .. :) – Malika

+0

@Malika: Welcome.Mark es als Antwort. –

Verwandte Themen