1

ヘルプ、私のコードは da.fill(dt) で失敗します。エラーは、OleDBexception が処理されませんでした 1 つ以上の必須パラメーターに値が指定されていないことを示しています

私のコード

        Dim Conn As OleDb.OleDbConnection = New OleDb.OleDbConnection
        Dim connString As String
        Dim da As OleDb.OleDbDataAdapter
        Dim dt As New DataTable
        Dim oCmd As OleDb.OleDbCommand
        Dim SQLString As String

        connString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =" & sRemoteAccessFolder & "Projects.MDB"
        Conn.ConnectionString = connString
        Conn.Open()
        SQLString = "select * from tblProjects where ProjectNumber='10100'"


        da = New OleDb.OleDbDataAdapter(SQLString, Conn)
        da.Fill(dt)

何か案が?

ありがとうございます

4

3 に答える 3

1

この行にはおそらく問題があります:

SQLString = "select * from tblProjects where ProjectNumber='10100'"

フィールド ProjectNumber は、テーブルの内容と一致する必要があります。スペースがある場合は、括弧を含める必要があります。

SQLString = "select * from tblProjects where [Project Number]='10100'"

数値フィールドの場合は、引用符を削除します。

SQLString = "select * from tblProjects where [Project Number]=10100"

それでもエラーが発生する場合は、データベースに tblProjects というテーブルがあることを確認してください。

いつものように、SQL ステートメントを完全に手動で実行する代わりに、必ずパラメーターを使用してください。これにより、潜在的な sql インジェクションの問題を回避できます。

于 2013-08-01T20:47:56.790 に答える