2017-08-25 10 views
1

DtPickerまたはカレンダーからデータベースFirebirdに値を追加すると、VB6.0プログラミングに関して奇妙な問題が発生します。日が1から12の日付を追加するとデータベースに追加できますが、13日以上の日付を追加しようとするとエラーメッセージが表示されます日の部分が12より大きい場合、Firebirdにデータの日付値を追加できません

ランタイムエラー'-2147467259'(80004005) ':文字列から
[ODBC Firebirdのドライバー] [Firebirdの】変換エラー "13/08/2017"

データベース内のタイプは "DATE" であるが、私はオンデータベースを "VARCHAR"に入力すると問題はありませんが、 "VARCHAR"はDate関数を実行できません。

Image

+2

おそらく '' mm/dd/yyyy ''の日付形式を期待しています。私はVB6ではなくVBAに慣れていますが、 'Format(whatever_date、" mm/dd/yyyy ")' – YowE3K

+0

のようなものかもしれません。私はこのコードを使ってデータベースに入れます: – SETYO

+0

SQLの構文はどうですか? TBL_KALの値に挿入する( '"&Cal1.Value&"'、 "&cmbKet.Text&" '、'&txtHour.Text& "') – SETYO

答えて

0

あなたは文字列としてまたは連結文の文脈で日付の値を渡すと、あなたは「YYYY-MM-DD」形式(ISO_8601)に値を設定してください。

パラメータを使用してステートメントを準備しておけば、ドライバ自体が安全にデータ型変換を自動的に処理します。少なくともそれはすべきです。

最後のオプションをお勧めします。

関連する問題