テーブルの値のペアをストアド プロシージャに渡すコードを次に示します。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