Hello
I want to call a stored procedure which will allow user to update somethings. But I always cannot call stored procedure in Interbase.
I used Parameters method, but it seems that interbase cannot read my request of calling store procredure, but just execute it as a normal SQL Command. The error always shows "Invalid token: SP_Update_PW".
My stored procredure can execute successfully in IBExpert. And the transaction is successful when I use "execute SP_UPDATE_KEY ('" & strUserID xxxxxxxxxxxx" directy. But that's not what I want. I can't get return result with my proc. And also, it seems that I can't set Parameter's Direction as VarChar....Is that the same with String? (I use VarChar in my Proc).
Here is the following code. Thanks a lot
Code:Sub CHIP(ByVal sender As Object, ByVal e As System.EventArgs) Dim cs As String = "DSN=MTM_POS" Dim cn As OdbcConnection = New OdbcConnection(cs) Dim cmd As New OdbcCommand cmd.Connection = cn cmd.CommandText = "SP_UPDATE_KEY" cmd.CommandType = CommandType.StoredProcedure Dim dbParameter As New OdbcParameter 'PPC Key dbParameter = cmd.CreateParameter() dbParameter.ParameterName = "@PPC_KEY" dbParameter.Value = txtPPCKey.Text dbParameter.Direction = ParameterDirection.Input dbParameter.DbType = DbType.String cmd.Parameters.Add(dbParameter) 'PPC Name dbParameter = cmd.CreateParameter() dbParameter.ParameterName = "@PPC_NAME" dbParameter.Value = txtPPCName.Text dbParameter.Direction = ParameterDirection.Input dbParameter.DbType = DbType.String cmd.Parameters.Add(dbParameter) 'Staff ID dbParameter = cmd.CreateParameter() dbParameter.ParameterName = "@STAFF_ID" dbParameter.Value = txtStaffID.Text dbParameter.Direction = ParameterDirection.Input dbParameter.DbType = DbType.String cmd.Parameters.Add(dbParameter) 'Staff Password dbParameter = cmd.CreateParameter() dbParameter.ParameterName = "@STAFF_PW" dbParameter.Value = txtStaffPW.Text dbParameter.Direction = ParameterDirection.Input dbParameter.DbType = DbType.String cmd.Parameters.Add(dbParameter) 'Result dbParameter = cmd.CreateParameter() dbParameter.ParameterName = "@RESULT" dbParameter.Direction = ParameterDirection.ReturnValue dbParameter.DbType = DbType.Int16 cmd.Parameters.Add(dbParameter) cmd.ExecuteNonQuery() Dim intResult = cmd.Parameters("@RESULT").Value cn.Close() End Sub




Reply With Quote