Ho una stored procedure che accetta un User tabella definita tipo chiamato SeasonTable
che assomiglia a questo:C#: passando dataTable di stored procedure: colonna problema ordine
SeasonTable
[SeasonId] [int] NOT NULL,
[SeasonName] [varchar](50) NOT NULL,
[Month] [int] NULL,
[IsDeleted] [bit] NOT NULL
Stored la procedura è come quella riportata di seguito
CREATE PROCEDURE [dbo].[udpTest]
(
@STable dbo.SeasonTable READONLY
)
AS
BEGIN
SELECT [SeasonName] as SeasonName,[SeasonId],[Month],[IsDeleted]
FROM @AdminBillingSeasonsTable
END
Quando chiamo questo da C# applicazione
private DataTable TestCreateDataTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("SeasonName", typeof(string));
dt.Columns.Add("SeasonId", typeof(int));
dt.Columns.Add("Month", typeof(int));
dt.Columns.Add("IsDeleted", typeof(bool));
dt.Rows.Add("season1",1, 4, false);
dt.Rows.Add("season2",2, 9, false);
dt.Rows.Add("season3",3, 11, false);
return dt;
}
Quando uso la tabella di cui sopra come param per SP da C# app che sta gettando errore:
unable to convert "season1" to int.
Significa questo l'ordine delle colonne in C# app dovrebbe essere come l'ordine delle colonne in SQL?
Qualsiasi aiuto in merito è molto apprezzato.
Grazie in anticipo
Ti è provato a passare la sequenza Colonna (SeasonId poi SeasonName) in dt ?? – yogi
@yogi ya dopo averlo acceso ha funzionato bene !!!! – sandeep
@yogi forse ha bisogno di aggiungere che come risposta: così le persone sanno che è stato risposto – whytheq