1

Oracle データベースにデータを挿入しようとしていますが、フォームの datetimepicker 値を Oracle の日付またはタイムスタンプ (7) に変換できないように見えるため、「無効な月」エラーが発生します。助けてください!

私のコード

dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = " dd MM yyyy  ";
string m = "insert into member(memberid,name,street,roadno,houseno,phoneno,joindate,sex) values(member_deptno.nextval,'" + a + "','" + b+ "','" + c + "','" + d + "','" + h + "','" + dateTimePicker1.Value.Date+ "','"+de+"')";
4

2 に答える 2

2

ユーザーがパラメーター化した SQL 挿入。

例: パラメータ化された選択クエリ

SqlConnection objConnection = new SqlConnection(connectionString);
objConnection.Open();
SqlCommand objCommand = new SqlCommand(
   "SELECT * FROM User WHERE Name = @Name AND Password = @Password",
   objConnection);
objCommand.Parameters.Add("@Name", tbName.Text);
objCommand.Parameters.Add("@Password", tbPassword.Text);
SqlDataReader objReader = objCommand.ExecuteReader();
于 2009-12-14T15:32:31.583 に答える
1

他の人が言及しているように、パラメーターは進むべき道ですが、それらがあなたの問題を解決するとは思いません。

あなたのスニペットに示されている CustomFormat は、Oracle が望んでいる形式であると思います。問題は、dateTimePicker1.Value.Dateそれを呼び出すと DateTime オブジェクトが得られ、それを文字列と組み合わせているため、.ToString() メソッドが実行され、結果が異なる形式になることです。出力を制御するには、フォーマット文字列を .ToString() に入れる必要があります。例:

dateTimePicker1.Value.Date.ToString("dd MM yyyy");
于 2009-12-14T17:17:47.543 に答える