2012-03-07 8 views
-1

テキストボックス18/02/2012のコーディング例(例)。データベースでは2012年2月18日です。データベースと同じでない日付書式を変更する方法

TxtReqDate.Text = Calendar.SelectionStart.ToString("dd/MM/yyyy")   
cboTermCode.Focus() 
Calendar.Visible = False 

が、私は以下のコード使用して日付の関連データを取得したい:

sqlCbo2 = "SELECT DISTINCT gear_code FROM gear WHERE est_start_date='" & TxtReqDate.Text & "'" 

それが無効な日付を言います。 データベースの日付形式を変更することはできません。

TxtReqDate.Text = Calendar.SelectionStart.ToString( "dd/MM/yyyy")をTxtReqDate.Text = Calendar.SelectionStart.ToShortDateStringに変更すると、2012年2月18日のテキストボックスに表示されます。データが表示されますが、私は18/02/2012をテキストボックスに表示します。

+0

MySQLは 'YYYY-MM-DD'を期待しています。 –

+0

Bobby Tablesを回避するためにパラメータ化されたクエリを使用するだけでなく、データベース側の関数を使用して引数をフォーマットしないように、それらを使用する必要があります。 – Origin

答えて

0

関数を使用して、そのデータを解析し、それをDate値に変換することができます。このような

使用、それを(任意の構文エラーを修正):

が、私はそれを置く必要があります。例?? http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.aspx

Dim comm As New OleDb.OleDbCommand(reportQueryString, conn) 

comm.Parameters.Add("[ReportDate]", OleDbType.Date) 

comm.Parameters("[ReportDate]").Value = dateVariable 

あなたはパラメータを追加するとき、あなたはデータ型を指定することを見ることができるコマンドをする必要があります。この例では、実際にOleDbCommandを使用しているが、構文はSqlCommandについても同様である

sqlCbo2 = "SELECT DISTINCT gear_code FROM gear WHERE est_start_date=STR_TO_DATE('" & TxtReqDate.Text & "','%d/%m/%Y')" 
+0

どこに置いたらいいですか?例?? –

+0

答えを確認してください。 –

+0

ルーチン(str_to_date)は解決できません。私はこのエラーメッセージが表示されます。 –

0

データ型をに変換します。この方法では、生の弦の操作を自分でやっていません。

+0

私はそれが似ていることを知っているので、私はODBCを使用しています。 –

関連する問題