1 回答
TA貢獻1859條經驗 獲得超6個贊
我猜可能是
metaData[3] = new SqlMetaData("Value", SqlDbType.Decimal);
需要用精度和比例指定。所以它看起來像這樣:
metaData[3] = new SqlMetaData("Value", SqlDbType.Decimal, 19, 6);
您的 CreateSqlRecord 方法應該如下所示:
private IEnumerable<SqlDataRecord> CreateSqlRecord(IEnumerable<DataElementInput> entities)
{
SqlMetaData[] metaData = new SqlMetaData[4];
metaData[0] = new SqlMetaData("A", SqlDbType.Int);
metaData[1] = new SqlMetaData("B", SqlDbType.DateTime);
metaData[2] = new SqlMetaData("C", SqlDbType.DateTime);
metaData[3] = new SqlMetaData("Value", SqlDbType.Decimal, 19, 6);
SqlDataRecord record = new SqlDataRecord(metaData);
foreach (Model myModel in entities)
{
record.SetInt32(0, myModel .A);
record.SetDateTime(1,myModel.B);
record.SetDateTime(2, myModel.C);
record.SetDecimal(3, (Decimal)myModel.Value);
yield return record;
}
}
- 1 回答
- 0 關注
- 204 瀏覽
添加回答
舉報
