PDA

View Full Version : سوال: مشکل در ارسال datatable به StoredProcedure



AmiN0012
پنج شنبه 06 آبان 1395, 18:11 عصر
سلام دوستان من میخام دیتاست به اسم Bimeh رو بفرستم به پروسیجر.اما خطای زیر رو میده:
No mapping exists from object type BimehDS+BimehDataTable to a known managed provider native type.

کدی که من در یرنامه نوستم:
public void InsertBimeh(BimehDS ds)
{
GetConnection connection = new ConnectionDb.GetConnection();
try
{
SqlDataAdapter sda = new SqlDataAdapter();
connection.Open();
SqlCommand InsertCommand = new SqlCommand("ProcInsertBimeh");
InsertCommand.CommandType = CommandType.StoredProcedure;
InsertCommand.Parameters.AddWithValue("@BimehParams", ds.Bimeh);
InsertCommand.Connection = connection.conn;
InsertCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
throw new Exception(AC.TESS.ResourceFile.Messages.InsertErro r + Environment.NewLine + ex.Message);
}
finally
{
connection.Close();
}
}

پروسیجر من :

ALTER PROCEDURE [dbo].[ProcInsertBimeh]
(@BimehParams dbo.BimehVar READONLY )
AS
BEGIN
SET NOCOUNT ON;

insert into Bimeh
Select B_Id,B_Name from @BimehParams
END


BimehVar یک table Type هست که با کد زیر در sql ان را ساختم:

CREATE TYPE dbo.BimehVar AS TABLE
(
B_Id INT , B_Name nvarchar(30)
)
کجای کارم اشتباست؟ممنون میشم کمکم کنید.

AmiN0012
جمعه 07 آبان 1395, 14:11 عصر
با تغییر کد زیر مشکلم حل شد:

var Params = InsertCommand.Parameters.AddWithValue("@BimehParams", ds.Bimeh);
Params.SqlDbType = SqlDbType.Structured;



لینک کمکی:
http://stackoverflow.com/questions/13416052/strongly-typed-dataset-as-user-defined-table-type-parameter