![]() |
SQL error: "Must be an updatable quaery" в ASP.NET
Проблема заключается в следующем: написал я простинький скрипт в ASP.NET, цель которого всего навсего обращятся к базе данных написаной на Access'е и там менять значение одного поля в таблице Accounts и добавлять строчку в таблице Transactions. Только вот в чем проблема.... когда обращаюсь к базе данных то в exeption ловится вот такая ошибка: "Must be an updatable quaery".
Прямо не знаю что делать.... все до ужаса простые, никаких проблем быть не должно, но увы не работает. Вот кстати и statements: UPDATE tblAccounts SET Amount = ? WHERE UserID = ? и INSERT INTO tblTransactions ( DatePosted, Amount, Payee, UserID ) VALUES (?,?,?,?) вместо ? само сабой переменные. Пробовал и напрямую (OleDBCommand как text) и используя quaery находящуюся в самой базе данных (OleDBCommand как StoredProcedure) Кстати SELECT statement работает прекрасно........ помогите кто может, плиз |
пришли кусок кода. посмотрим
|
вот например код UPDATE, который создает строку полностью:
Sub UpdateBalance(ByVal decNewAmount As Decimal) Dim objCmd As OleDb.OleDbCommand = New OleDb.OleDbCommand() objCmd.CommandType = CommandType.Text objCmd.Connection = Conn objCmd.CommandText = "UPDATE tblAccounts SET Balance = " objCmd.CommandText = objCmd.CommandText & decNewAmount.ToString & " WHERE UserID= " objCmd.CommandText = objCmd.CommandText & CStr(Request.Cookies("Account").Value) Try objCmd.Connection.Open() objCmd.ExecuteNonQuery() Catch ex As OleDb.OleDbException Me.lblMessage.Text = ex.Message Finally objCmd.Connection.Close() End Try End Sub а вот код INSERT, для разнообразия использует quaery заранее написанную в самой базе данных: Sub AddTransaction(ByVal strPayee As String, ByVal decAmount As Decimal) Dim objCmd As OleDb.OleDbCommand = New OleDb.OleDbCommand("spInsertTransaction", Conn) objCmd.CommandType = CommandType.StoredProcedure Dim objParam As OleDb.OleDbParameter objParam = objCmd.Parameters.Add("@Date", OleDb.OleDbType.Date) objParam.Direction = ParameterDirection.Input objParam.Value = DateTime.Now objParam = objCmd.Parameters.Add("@Amount", OleDb.OleDbType.Decimal) objParam.Direction = ParameterDirection.Input objParam.Value = decAmount objParam = objCmd.Parameters.Add("@Payee", OleDb.OleDbType.BSTR) objParam.Direction = ParameterDirection.Input objParam.Value = strPayee objParam = objCmd.Parameters.Add("@UserID", OleDb.OleDbType.BSTR) objParam.Direction = ParameterDirection.Input objParam.Value = Request.Cookies("Account").Value Try objCmd.Connection.Open() objCmd.ExecuteNonQuery() Catch ex As OleDb.OleDbException lblMessage.Text = ex.Message Finally objCmd.Connection.Close() End Try End Sub оба кидают один и тот-же exeption зарание спасибо за помощь |
| Часовой пояс GMT +4, время: 11:11. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.