2016-07-12 2 views
0

Comment pouvons-nous passer la table de données à la procédure stockée dans C# en utilisant la bibliothèque Enterprise? J'utilise la commande cmd.AddInParameter (objDbCommand, DBAccessDetails.dataTablePrm, SqlDbType.Structured, curatedListprm); puis le problème suivant: La conversion a échoué lors de la conversion de la valeur nvarchar 'ZAQ' en type de données int.C# using Enterprise-Library

Les données du paramètre table "@data" ne sont pas conformes au type de table du paramètre. Erreur SQL Server est: 245, état: 1

Plz dites-moi ce que je fais et quel est le problème?

+0

pouvez-vous partager du code avec nous s'il vous plaît avec quoi vous essayez d'atteindre –

+0

également, avez-vous créé votre type de table défini par l'utilisateur? –

Répondre

0

D'abord, vous devez avoir créé votre type de table défini par l'utilisateur

CREATE TYPE [schema].[tableName] AS TABLE(
table columns and types) 
GO 

alors vous devez créer votre proc stocké pour prendre la valeur table parameted

create procedure procName 
(
@tvp dbo.tableNamereadonly 
) 

alors vous devez passer votre datatable dans via .Net avec quelque chose comme ça

var param = new SqlParameter("@tvp" Sqldbtype.Structured); 
param.Value = {your data table} 
+0

Je suis prêt comme ci-dessus, mais le même problème –

+0

@JitenderSharma pouvez-vous partager votre code alors s'il vous plaît et je vais voir s'il y a quelque chose que vous avez manqué –

+0

Merci résoudre son Ce problème était à côté de moi.Je n'envoyais pas complet table de données à sp –