IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   SQL error: "Must be an updatable quaery" в ASP.NET (http://www.imho.ws/showthread.php?t=27787)

HappyParrot 24.04.2003 23:14

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 работает прекрасно........ помогите кто может, плиз

dr.goo 24.04.2003 23:35

пришли кусок кода. посмотрим

HappyParrot 25.04.2003 03:23

вот например код 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.