Denver,
You are right. There is no need for the ORDER BY clause. Just careless.
I tried removing the 'S $ZT="LogErr"' but it still produced the error.
Below is a simplified VB6 app that shows how cmdButton 2 and 3 work without
erroring after being pressed several times. However, when cmdButton1 is
pressed on more than one occassion, it errors even though it worked on the
first click event.
Second stored procedure that works fine with multiple execution:
-----------------------------------------------------
ClassMethod TestConn(tmpBool As %Boolean = 0) As %String [ SqlProc ]
{
i tmpBool=1 {
q 0 ;
}
else {
q 1 ;
}
}
VB6
------
Option Explicit
Dim aConn As New ADODB.Connection
Private Sub Command1_Click()
Dim cmdObj As New ADODB.Command
cmdObj.ActiveConnection = aConn
cmdObj.CommandText = "? = Call
dbo.INVENTORY_AddNewInv(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
cmdObj.CommandType = adCmdText
Call MakeParam(cmdObj, "retVal", adVarChar, adParamReturnValue, 10, "")
Call MakeParam(cmdObj, "ivy_itemcode", adVarChar, adParamInput, 10, "")
Call MakeParam(cmdObj, "ivy_shortdesc", adVarChar, adParamInput, 10, "")
Call MakeParam(cmdObj, "ivy_maincatcode", adVarChar, adParamInput, 10,
"")
Call MakeParam(cmdObj, "ivy_is_kit", adBoolean, adParamInput, 10, 1)
Call MakeParam(cmdObj, "ivy_is_count", adBoolean, adParamInput, 10, 0)
Call MakeParam(cmdObj, "ivy_minorcatcode", adVarChar, adParamInput, 10,
"")
Call MakeParam(cmdObj, "ivy_type", adVarChar, adParamInput, 10, "")
Call MakeParam(cmdObj, "ivy_image", adVarChar, adParamInput, 10, "")
Call MakeParam(cmdObj, "ivy_weighting", adVarChar, adParamInput, 10, "")
Call MakeParam(cmdObj, "ivy_processing", adVarChar, adParamInput, 10,
"")
Call MakeParam(cmdObj, "ivy_theatrenotes", adVarChar, adParamInput, 10,
"")
Call MakeParam(cmdObj, "ivy_materialcost", adVarChar, adParamInput, 10,
"")
Call MakeParam(cmdObj, "ivy_qty_onhand", adVarChar, adParamInput, 10,
"")
Call MakeParam(cmdObj, "ivy_site", adVarChar, adParamInput, 10, "")
cmdObj.Execute
Text1 = GetPiece(cmdObj.Parameters(0).Value, 1, "|")
Set cmdObj = Nothing
End Sub
Private Sub Command1_LostFocus()
Text1.Text = ""
End Sub
Private Sub Command2_Click()
Dim cmdObj As New ADODB.Command
cmdObj.ActiveConnection = aConn
cmdObj.CommandText = "? = Call Com.Utils_TestConn(?)"
cmdObj.CommandType = adCmdText
Call MakeParam(cmdObj, "retVal", adVarChar, adParamReturnValue, 10, "")
Call MakeParam(cmdObj, "retVal", adBoolean, adParamInput, 10, 0)
cmdObj.Execute
Text1 = GetPiece(cmdObj.Parameters(0).Value, 1, "|")
Set cmdObj = Nothing
End Sub
Private Sub Command2_LostFocus()
Text1.Text = ""
End Sub
Private Sub Command3_Click()
Dim sqlStr As String
Dim cmdObj As New ADODB.Command
cmdObj.ActiveConnection = aConn
sqlStr = "insert into dbo.INVENTORY
(ivy_itemcode,ivy_shortdesc,ivy_maincatcode,ivy_is_kit,ivy_is_count,ivy_mino
rcatcode,ivy_type,ivy_image,ivy_weighting,ivy_processing,ivy_theatrenotes,iv
y_materialcost,ivy_qty_onhand,ivy_site) values
(null,null,null,1,1,null,null,null,null,null,null,null,null,null)"
cmdObj.CommandText = sqlStr
cmdObj.CommandType = adCmdText
cmdObj.Execute
Set cmdObj = Nothing
Text1 = "Record Added"
End Sub
Private Sub Command3_LostFocus()
Text1.Text = ""
End Sub
Private Sub Form_Load()
aConn = "PROVIDER=MSDASQL;DSN=SDM_DEMO;uid=_system;pwd=sys;"
aConn.Open
End Sub
Private Sub Form_Unload(Cancel As Integer)
aConn.Close
End Sub