2015-04-02 108 views
-1

这是我的更新语句,当我尝试使用它的错误“对一个或多个参数没有指定的值...等”没有价值给出一个或多个参数Vb.net更新语句

更新数据库的访问

注:“有一些失败,我想保持无变化/更新”

sqlupdate = "UPDATE MainData SET [Done][email protected], [Delevered][email protected], [Called][email protected], [QussaiCheked][email protected],[Employee][email protected],[CustName][email protected], [CustPhone][email protected] ," & _ 
     "[NoSignal][email protected] ,[NoPower][email protected] ,[FormatC][email protected] ,[FormatAll][email protected] ,[WindXP][email protected] ,[Wind7][email protected] ,[Wind8][email protected] ,[DeviseType][email protected] ," & _ 
     "[Note][email protected] ,[Reciver][email protected],[DateTime]=[DateTime],[Coast][email protected] WHERE ID='" & Convert.ToInt32(IDLable.Text) & "'" 


If (DoneCheckBox.Checked = True) Then 
     cmd.Parameters.AddWithValue("@Done", DoneCheckBox.Checked) 
    End If 

    If (DeleveredCheck.Checked = True) Then 
     cmd.Parameters.AddWithValue("@Delevered", DeleveredCheck.Checked) 
    End If 
    If (CalledCheck.Checked = True) Then 
     cmd.Parameters.AddWithValue("@Called", CalledCheck.Checked) 
    End If 
    If (QussaiChecked.Checked = True) Then 
     cmd.Parameters.AddWithValue("@QussaiCheked", QussaiChecked.Checked) 
    End If 
    If (Employee.Checked = True) Then 
     cmd.Parameters.AddWithValue("@Employee", Employee.Checked) 
    End If 
    cmd.Parameters.AddWithValue("@CustName", NameTextBox.Text) 
    cmd.Parameters.AddWithValue("@CustPhone", PhoneTextBox.Text) 
    If (RadioSignal.Checked = True) Then 
     cmd.Parameters.Add(New OleDbParameter("@NoSignal", RadioSignal.Checked)) 
    End If 
    If (RadioPower.Checked = True) Then 
     cmd.Parameters.Add(New OleDbParameter("@NoPower", RadioPower.Checked)) 
    End If 
    If (Fc.Checked = True) Then 
     cmd.Parameters.AddWithValue("@FormatC", Fc.Checked) 
    End If 
    If (Fall.Checked = True) Then 
     cmd.Parameters.AddWithValue("@FormatAll", Fall.Checked) 
    End If 
    If (WinXP.Checked = True) Then 
     cmd.Parameters.AddWithValue("@WindXP", WinXP.Checked) 
    End If 
    If (Win7.Checked = True) Then 
     cmd.Parameters.AddWithValue("@Wind7", Win7.Checked) 
    End If 
    If (Win8.Checked = True) Then 
     cmd.Parameters.AddWithValue("@Wind8", Win8.Checked) 
    End If 

“...等所有参数 ”然后

con1.Open() 
    Try 
     cmd.ExecuteNonQuery() 
    Catch ex As Exception 
     MessageBox.Show(ex.ToString()) 
     ' MessageBox.Show(ex.Source) 
    End Try 
    con1.Close() 
    RefreshDGV() 
    MessageBox.Show("{updated") 

我尝试发布excep重刑处理的消息,但“仍比10声望不到新”

+0

您尚未显示添加参数的代码。 – 2015-04-02 11:15:14

回答

-1

我解决我的问题感谢所有如何查看或试图解决这个问题,并帮助我 :)

我更新每个字段逐个使用此代码:

Dim con1 As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\USER\Desktop\Test.accdb") 

Public Cmd As OleDbCommand 



    Dim Str As String 
     Str = "update MainData set CustName=" 
     Str += """" & NameTextBox.Text & """" 
     Str += " where ID=" 
     Str += IDLable.Text.Trim() 
     con1.Open() 
     Cmd = New OleDbCommand(Str, con1) 
     Cmd.ExecuteNonQuery() 
     con1.Close() 
相关问题