2012-09-28 28 views
0

,當我修改數據 得到錯誤,而在我的形式更新記錄在VB.Net

我使用OLEDB連接「命令文本沒有爲命令對象設置」我收到提示

下面我們我的代碼

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click  
Try 
     sql = "select * from Employee" 
     conn = New OleDbConnection(s) 
     adapt = New OleDbDataAdapter(sql, conn) 
     ds = New DataSet 

     usql = "Update Employee set enp_name=?, emp_addr=?, DOB=?, DOJ=?, emp_mob=?, emp_mail=? where ID=?" 
     ucmd = New OleDbCommand(isql, conn) 

     Dim date1 As Date 
     date1 = DateTimePicker1.Value 

     p = ucmd.Parameters.Add("@emp_name", OleDbType.Char) 
     p.SourceColumn = "emp_name" 
     p.SourceVersion = DataRowVersion.Current 

     p = ucmd.Parameters.Add("@emp_addr", OleDbType.Char) 
     p.SourceColumn = "emp_addr" 
     p.SourceVersion = DataRowVersion.Current 

     p = ucmd.Parameters.Add("@DOB", OleDbType.DBDate) 
     p.SourceColumn = "DOB" 
     p.SourceVersion = DataRowVersion.Current 

     p = ucmd.Parameters.Add("@DOJ", OleDbType.DBDate) 
     p.SourceColumn = "DOJ" 
     p.SourceVersion = DataRowVersion.Current 

     p = ucmd.Parameters.Add("@emp_mob", OleDbType.Integer) 
     p.SourceColumn = "emp_mob" 
     p.SourceVersion = DataRowVersion.Current 

     p = ucmd.Parameters.Add("@emp_mail", OleDbType.Char) 
     p.SourceColumn = "emp_mail" 
     p.SourceVersion = DataRowVersion.Current 

     p = ucmd.Parameters.Add("@ID", OleDbType.Integer) 
     p.SourceColumn = "ID" 
     p.SourceVersion = DataRowVersion.Current 

     adapt.UpdateCommand = ucmd 

     conn.Open() 
     If conn.State = ConnectionState.Open Then 
      adapt.MissingSchemaAction = MissingSchemaAction.AddWithKey 
      adapt.Fill(ds, "ABC") 
      'conn.Close() 
     End If 

     tables = ds.Tables 
     table = tables("ABC") 
     rows = table.Rows 
     cols = table.Columns 

     row = rows.Find(TextBox1.Text) 
     row.BeginEdit() 
     row("ID") = TextBox1.Text 
     row("emp_name") = TextBox2.Text 
     row("emp_addr") = TextBox3.Text 
     row("DOB") = DateTimePicker1.Text 
     row("DOJ") = DateTimePicker2.Text 
     row("emp_mob") = TextBox4.Text 
     row("emp_mail") = TextBox5.Text 
     row.EndEdit() 
     'conn.Open() 
     adapt.Update(ds, "ABC")** Getting error on this line 
    Catch ex As Exception 
     MessageBox.Show(ex.ToString) 
    End Try 
    End Sub 

,但我沒有得到我要去哪裏錯了....請幫我

回答

0

您並未將usql設置爲ucmd

ucmd.CommandText = usql; 

或者更確切地說,在您的constuctor:

ucmd = New OleDbCommand(isql, conn) 

isql也許應該usql。我猜如果你沒有收到編譯錯誤,類中有一個isql字符串字段。

+0

thnx幫助....這是一個非常愚蠢的錯誤! – EqEdi