Я не знаю, почему команда update не работает с использованием oledb в файле MDF с помощью запроса параметров
Я не знаю, почему команда Update не работает с использованием OleDB в файле MDF с помощью запроса параметров
Он работает нормально при использовании того же кода ниже но SQL клиент обновляет базу данных SQL server но при попытке обновить базу данных access он не дал никакой ошибки и никаких изменений в записи не произошло
Что я уже пробовал:
Dim cnnOLEDB As New OleDbConnection Dim cmdOLEDB As New OleDbCommand Dim cmdInsert As New OleDbCommand Dim cmdUpdate As New OleDbCommand Dim cmdDelete As New OleDbCommand
Dim strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Computer.FileSystem.SpecialDirectories.Desktop & "\SupplierDB.mdb"
Dim strUpdate As String Dim strSelect As String DateUpdated.Text = Today UpdatedBy.Text = SystemUserName Dim DialString As String = TXT_Dial.Text Dim FirstChar As Char = DialString.Chars(0) If FirstChar = "0" Then DialString = DialString.Remove(0, 1) End If If cnnOLEDB.State = ConnectionState.Closed Then cnnOLEDB.Open() End If strSelect = "Select * From Customers" strSelect &= "WHERE ID = (ID = @TXT_Cust_Record_ID)" strUpdate = "Update Customers " strUpdate &= "SET ServiceName =@TXT_ServName, Dial = @DialString, SupplierName = @TXT_SupplierName, ShortCode = @TXT_ShortCode, SR = @TXT_SR_ID, DateAdded = @DateAdded, ActionType = @TXT_Action, DateUpdated = @DateUpdated, UpdatedBy = @UpdatedBy, Reason = @TXTReason" strUpdate &= " WHERE ID = @TXT_Cust_Record_ID;" cmdUpdate = New OleDbCommand(strUpdate, cnnOLEDB) cmdUpdate.CommandText = strUpdate cmdUpdate.Parameters.AddWithValue("@DialString", DialString) cmdUpdate.Parameters.AddWithValue("@TXT_ServName", TXT_ServName.Text) cmdUpdate.Parameters.AddWithValue("@TXT_SupplierName", TXT_SupplierName.Text) cmdUpdate.Parameters.AddWithValue("@TXT_ShortCode", TXT_ShortCode.Text) cmdUpdate.Parameters.AddWithValue("@TXT_SR_ID", TXT_SR_ID.Text) cmdUpdate.Parameters.AddWithValue("@DateAdded", DateAdded.Text) cmdUpdate.Parameters.AddWithValue("@SystemUserName", SystemUserName) cmdUpdate.Parameters.AddWithValue("@TXT_Action", TXT_Action.SelectedItem) cmdUpdate.Parameters.AddWithValue("@DateUpdated", Now) cmdUpdate.Parameters.AddWithValue("@UpdatedBy", UpdatedBy.Text) cmdUpdate.Parameters.AddWithValue("@TXTReason", TXTReason.SelectedItem) cmdUpdate.Parameters.AddWithValue("@TXT_Alias", TXT_Alias.Text) cmdUpdate.Parameters.AddWithValue("@TXT_Cust_Record_ID", TXT_Cust_Record_ID.Text) cmdUpdate.ExecuteNonQuery()
Richard MacCutchan
Вы добавляете три параметра, на которые нет ссылок в инструкции UPDATE: @SystemUserName
, @TXT_Alias
и @TXT_Cust_Record_ID
- Разве это важно?