这是我将表值对传递给存储过程的代码。DOJ 字段是 DateTime,在 SP 中,DOJ 字段是日期。两者都兼容。输出类似于 dd/MM/yyyy。
如果 DOJ 字段是 DateTime 并且在 SP 中,DOJ 字段是 DateTime2(3),o/p 是 dd/MM/yyyy hh:mm:ss 但我需要 o/p 是 dd/MM/yyyy。我应该如何编写代码?
dt1.Columns.Add("DOJ", typeof(System.DateTime));
DataRow dr1 = dt1.NewRow();
dr1["DOJ"] = DateTime.ParseExact("02/03/2001", formats, us, DateTimeStyles.None);
// dr1["DOJ1"] = "12/13/2001"; if i use this one it works .
dt1.Rows.Add(dr1); // Get DOJ as - 3/2/2001 12:00:00 AM
ds1.Tables.Add(dt1);
这是我的存储过程代码 -
-- CREATE TYPE StateTbls7 AS TABLE
( StateID VARCHAR(200)
, StateCode VARCHAR(200)
, StateName VARCHAR(200)
, DOJ date
)
ALTER PROCEDURE sp_Add_contact
(
@ds1 StateTbls7 readonly
)
AS
begin
declare @DOJ VARCHAR(200)
select @DOJ = d1.DOJ from @ds1 d1
select @DOJ as 'a1'
end
return