DB의 어떤 테이블의 컬럼 타입이 datetime 타입이 있다. 쿼리문을 문자열로 작성한 뒤 SqlDataAdapter, SqlCommand 클래스를 이용해 쿼리문을 실행시킬 경우가 있다. int 타입, byte 타입, nvarchar 타입 관련해서는 쉽게 쿼리문을 문자열로 작성할 수 있지만 컬럼 타입이 datetime 이면 생각처럼 쉽지가 않았다. 시간의 표현 범위와 다른 나라들의 시간 표현 순서도 다르고.


이 경우 SqlParameter 클래스를 이용하면 쉽게 해결 가능하다.






DateTime MyDate = new DateTime(1997, 9, 12);


SqlDataAdapter adapter = new SqlDataAdapter("select * from orders where OrderDate=@mydate",                      

"server=pedro4;database=Northwind");


SqlParameter myParam = new SqlParameter();

myParam.ParameterName = "@mydate";

myParam.SqlDbType = SqlDbType.DateTime;

myParam.Value = MyDate;

adapter.SelectCommand.Parameters.Add(myParam);


DataSet ds = new DataSet();

adapter.Fill(ds);


Console.WriteLine(ds.Tables[0].Rows.Count.ToString());

Console.ReadLine();




cf) Using C# DateTime in Sql query - Joel on Software

Posted by six605
,