2016-04-10 11 views
1

を使用して、複数のアクセステーブルの行を削除します。試しました:は、私は、ユーザーが自分が削除したい行を選択することによって、MSアクセスデータベース内の行を削除しようとしましたが、私はここでエラーに<code>ExecuteNonQuery: Connection property has not been initialized.</code></p> <p>を得続けることはコードIであるVB

Dim Conn As OleDbConnection = New OleDbConnection 
    Dim Comm As OleDbCommand 
    Dim Comm1 As OleDbCommand 

    Dim provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" 
    Dim dataFile = "F:\Database.accdb" 
    Comm = New OleDbCommand("DELETE * from Orders WHERE [OrderNumber][email protected]") 
    Comm1 = New OleDbCommand("DELETE * from Order_Details WHERE [OrderNumber][email protected]") 
    Conn.ConnectionString = provider & dataFile 
    Conn.Open() 
    Comm.Parameters.AddWithValue("@Orderno", TextBox1.Text) 
    Comm1.Parameters.AddWithValue("@Orderno", TextBox1.Text) 
    Comm.ExecuteNonQuery() 
    Comm1.ExecuteNonQuery() 
    MsgBox("Records Successfully Deleted") 
    Conn.Close() 

答えて

0

接続文字列が間違っています。それは次のようになります。あなたはまたのOleDbCommandオブジェクトのConnectionプロパティを設定していない

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb; 
Persist Security Info=False; 

Dim connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source = F:\Database.accdb; Persist Security Info=False;" 

Dim Conn As OleDbConnection = New OleDbConnection (connectionString) 
Dim Comm As OleDbCommand 
Dim Comm1 As OleDbCommand 

Comm = New OleDbCommand("DELETE * from Orders WHERE [OrderNumber][email protected]", Conn) 
Comm1 = New OleDbCommand("DELETE * from Order_Details WHERE [OrderNumber][email protected]", Conn) 

Comm.Parameters.AddWithValue("@Orderno", TextBox1.Text) 
Comm1.Parameters.AddWithValue("@Orderno", TextBox1.Text) 
Conn.Open() 
Comm.ExecuteNonQuery() 
Comm1.ExecuteNonQuery() 
MsgBox("Records Successfully Deleted") 
Conn.Close() 
+0

で試してみてくださいはあまりそれはあなたを助けるために喜ん –

+0

を働いた、ありがとうございました。 – equisde

関連する問題

 関連する問題