2012-01-24 2 views
2

를 발행은 내 DB에서 타임 스탬프 필드의 연도와 월을 기준으로 내 select 문에 where 절을 넣을- 날짜가

나는이 저를주고 한 달에 1 년의 드롭 다운리스트 다음 문자열 01/2012

내 데이터베이스의 날짜 형식은 "2012-01-01 00:00:00"이지만 개별 날짜를 선택하고 메시지 상자에 넣으면 "01/01/2012 "

변환 된 날짜를 반영하기 위해 아래의 선택 문을 변경했습니다. 그러나 나는 아직도 정확한 세부 사항을주지 않았다. 어떤 아이디어? 타임 스탬프 필드를 처리 할 때 사용해야하는 특정 형식이 있습니까? select 문에서 "Right"함수를 사용할 수 있습니까?

Dim newRecordDate As String = val1 & "/" & ComboBox2.SelectedValue 
Dim sql2 As String = "Select CatA, CatB, CatC, Cost, Currency, MarketingCode, Comment, RecordDate from vw_tblP_Usage_Details where puid = '" & puid & "' right(RecordDate, 7) = '" & newRecordDate & "'" 
+0

는 "문자열에서 날짜 및/또는 시간을 변환 할 때 변환에 실패했습니다." = ""& uid & " 'CONVERT (DATETIME, RecordDate, 102) = & quot; & newRecordDate & gt; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; " '". – user765942

+0

어떤 데이터베이스 서버를 사용하고 있습니까? sqlserver? mysql? ... – Ali

+0

SQL 서버 관리 스튜디오 – user765942

답변

7

내가 사용하는 매개 변수와 SqlParameter 클래스는 .NET 클라이언트 대신 연결 문자열 형식을 사용하는 SQL Server에 매개 변수 값을 전달 말한다. 그것은 인생을 더 쉽게 만듭니다. 이처럼

뭔가 : 나는 오류가 다음 select 문으로

Dim myDate As Date = DateTime.Now 
Dim sql As String = "Select * from SomeTable where MyDate = @some_param" 

Using Command As New SqlClient.SqlCommand(sql) 
    Command.Parameters.AddWithValue("@some_param", myDate) 

    Using reader As SqlClient.SqlDataReader = Command.ExecuteReader() 

     'other code here 
    End Using 
End Using 
+2

"삶을 편하게 해줍니다".... 그리고 더 안전합니다. –

+0

감사합니다. 아프다. – user765942