|
■No46723 (もりお さん) に返信 > 2010/02/09(Tue) 19:36:00 編集(投稿者) > > > ■No46712 (だい さん) に返信 > >>何が問題なのでしょうか? > > 値のセットされていないパラメータがあるのではないでしょうか。 > もう一度確認してみてはいかがでしょうか。 > > ... > > For Each parameter As OleDbParameter In Cmd.Parameters > If parameter.Value Is Nothing Then > MessageBox.Show(parameter.ParameterName) > End If > Next > > Da.Fill(Ds) >
Form_Loadですべての15個くらいのパラメータを追加し、最初のコマンドのうち使っているのは3つです。 その場合もすべてのパラメータに値が入っていないとだめなんでしょうか??
Private Sub Form_Load Cmd.CommandText = "SELECT * FROM TBL WHERE HOGEA = @AAA AND HOGEB = @BBB AND HOGEC = @CCC"
Cmd.Parameters.Add("@AAA",OleDb.OleDbType.Char) Cmd.Parameters.Add("@BBB",OleDb.OleDbType.Char) Cmd.Parameters.Add("@CCC",OleDb.OleDbType.Char) Cmd.Parameters.Add("@DDD",OleDb.OleDbType.Char) ・ ・ ・
Private Sub Txt_AAA_LostFocus Cmd.Parameters("AAA").Value="HogeA" ENd Sub
Private Sub Txt_BBB_LostFocus Cmd.Parameters("BBB").Value="HogeB" ENd Sub
Private Sub Txt_CCC_Lost_Focus Cmd.Parameters("CCC").Value="HogeC" ENd Sub
Private Sub Btn_Reg_Click Ds = new DataSet Da = new OleDb.OleDbCommandAdapter(Cmd) Da.Fill(Ds)
Fillする時点で@DDDはパラメータに追加してありますが、SQL文に使用していないのでValueには値がありません。 これでもエラーになりますか?
ちなみにエラーのメッセージに出てくるのは値の入っている@AAAはデフォルト値がないと出てきます。
|