0% found this document useful (0 votes)
489 views7 pages

DBConn

The stored procedure updates tax amounts and statuses from a tax due file for two date ranges, the first half and second half of the year. It uses output parameters to return the number of records updated for each date range. The VB code calls the stored procedure and prints the returned output parameter values.

Uploaded by

JigneshBS
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
489 views7 pages

DBConn

The stored procedure updates tax amounts and statuses from a tax due file for two date ranges, the first half and second half of the year. It uses output parameters to return the number of records updated for each date range. The VB code calls the stored procedure and prints the returned output parameter values.

Uploaded by

JigneshBS
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

DBConn.

BeginTrans 02 03 04 05 06 07 08 '

'On Error Resume Next

'DELETE data Debug.Print(strSQL) Dim i 'For i = 1 to m_Rooms

strSQL = "Update tblAvailable set curprice="+ FixNumber(curPrice(intCurrentData)) strSQL = strSQL + " WHERE intResortID = " + Session("TypeID")

strSQL = strSQL + " AND dtm between CONVERT(DATETIME,'" + 09 cstr(Year(dtmStart)) + "-" + cstr(Month(dtmStart)) + "-" + cstr(Day(dtmStart)) + "', 102)" strSQL = strSQL + " AND CONVERT(DATETIME,'" + 10 cstr(Year(dtmEnd)) + "-" + cstr(Month(dtmEnd)) + "-" + cstr(Day(dtmEnd)) + "', 102)" 11 12 13 14 15 16 17 'Response.Write strSQL DBConn.Execute strSQL strSQL = strSQL + " AND strRoomType='" & strRooms(0) & "'" strSQL = strSQL + " OR strRoomType='" & strRooms(i) & "'" 'strSQL = strSQL + ")"

For lngIDField = 1 To lngRecords strSQL = "UPDATE MyTable SET PriceNow = '" & arrPrices(lngIDField - 1) & "' WHERE ID = " & lngIDField mobjCmd.CommandText = strSQL mobjCmd.Execute Next lngIDField

Private Sub Form_Load() Dim dbMyDB As Database Dim rsMyRS As Recordset Set dbMyDB = OpenDatabase("Payment.mdb") Set rsMyRS = dbMyDB.OpenRecordSet("tblPayment", dbOpenDynaset) If Not rsMyRS.EOF Then rsMyRS.MoveFirst Do While Not rsMyRS.EOF rsMyRS.Edit

rsMyRS!day = Format(rsMyRS!Date, "ddd") rsMyRS.Update rsMyRS.MoveNext Loop End Sub

How To: Updat

sqlStr = "SELECT key_citation FROM citation" Set rs = m_conn.Execute(sqlStr, , adCmdText Or adOpenForwardOnly) While Not rs.EOF citationNumber = rs.Fields(0).Value If Left$(citationNumber, 1) <> "W" Then newIndex = Citation.calculateCiteIndex(citationNumber) m_conn.Execute "UPDATE citation SET long_citeIndex = " & CStr(newIndex) & " WHERE key_citation = " & CStr(citationNumber), , adCmdText End If rs.MoveNext Wend rs.UpdateBatch rs.Close Set rs = Nothing

For i = 0 To rsUpdate.recordCount rsUpdate.fields(TargetFieldName) = value rsUpdate.MoveNext Next i

CREATE PROCEDURE usp_UpdateBernCoTaxesDue ( @OfcCode CHAR(3) ) AS DECLARE @StartDate DATETIME, @EndDate DATETIME, @NumFirstHalfRecs INTEGER, @NumSecondHalfRecs INTEGER BEGIN TRANSACTION

SELECT @StartDate = CAST( '10/1/' + CAST(YEAR(GETDATE()) AS CHAR(4)) AS DATETIME), @EndDate = CAST( '11/30/' + CAST(YEAR(GETDATE()) AS CHAR(4)) AS DATETIME) IF @@ERROR <> 0 GOTO ERR_HANDLER DELETE FROM ImpoundInvoice_BernCoBackup IF @@ERROR <> 0 GOTO ERR_HANDLER INSERT INTO ImpoundInvoice_BernCoBackup SELECT II.* FROM BernCoTaxDueFile TDF INNER JOIN ImpoundDetail IDET ON TDF.PID = IDET.PIDNoPunc INNER JOIN ImpoundInvoice II ON IDET.OfcCode = II.OfcCode AND IDET.Account_No = II.Account_No AND IDET.PID = II.PID WHERE II.Status IN ('EST', 'ACT') AND IDET.OfcCode = @OfcCode AND II.BillDate BETWEEN @StartDate AND @EndDate IF @@ERROR <> 0 GOTO ERR_HANDLER UPDATE II SET II.Amount = TDF.FirstAmt / 100, II.Status = 'ACT', II.BillNo = TDF.TaxBillNum FROM BernCoTaxDueFile TDF INNER JOIN ImpoundDetail IDET ON TDF.PID = IDET.PIDNoPunc INNER JOIN ImpoundInvoice II ON IDET.OfcCode = II.OfcCode AND IDET.Account_No = II.Account_No AND IDET.PID = II.PID WHERE II.Status IN ('EST', 'ACT') AND IDET.OfcCode = @OfcCode AND II.BillDate BETWEEN @StartDate AND @EndDate SET @NumFirstHalfRecs = @@ROWCOUNT IF @@ERROR <> 0 GOTO ERR_HANDLER SELECT @StartDate = CAST( '3/1/' + CAST(YEAR(GETDATE()) + 1 AS CHAR(4)) AS DATETIME), @EndDate = CAST(

'4/30/' + CAST(YEAR(GETDATE()) + 1 AS CHAR(4)) AS DATETIME) IF @@ERROR <> 0 GOTO ERR_HANDLER INSERT INTO ImpoundInvoice_BernCoBackup SELECT II.* FROM BernCoTaxDueFile TDF INNER JOIN ImpoundDetail IDET ON TDF.PID = IDET.PIDNoPunc INNER JOIN ImpoundInvoice II ON IDET.OfcCode = II.OfcCode AND IDET.Account_No = II.Account_No AND IDET.PID = II.PID WHERE II.Status IN ('EST', 'ACT') AND IDET.OfcCode = @OfcCode AND II.BillDate BETWEEN @StartDate AND @EndDate IF @@ERROR <> 0 GOTO ERR_HANDLER UPDATE II SET II.Amount = TDF.SecondAmt / 100, II.Status = 'ACT', II.BillNo = TDF.TaxBillNum FROM BernCoTaxDueFile TDF INNER JOIN ImpoundDetail IDET ON TDF.PID = IDET.PIDNoPunc INNER JOIN ImpoundInvoice II ON IDET.OfcCode = II.OfcCode AND IDET.Account_No = II.Account_No AND IDET.PID = II.PID WHERE II.Status IN ('EST', 'ACT') AND IDET.OfcCode = @OfcCode AND II.BillDate BETWEEN @StartDate AND @EndDate SET @NumSecondHalfRecs = @@ROWCOUNT IF @@ERROR <> 0 GOTO ERR_HANDLER SELECT NumFirstHalfRecs = @NumFirstHalfRecs, NumSecondHalfRecs = @NumSecondHalfRecs COMMIT TRANSACTION RETURN 0 ERR_HANDLER: ROLLBACK TRANSACTION SELECT NumFirstHalfRecs = 0, NumSecondHalfRecs = 0 RETURN 1 GO =-=-=-=-=-=-=-=-Dim rsNumRecs As ADODB.Recordset

Set rsNumRecs = cnGlobalData.Execute("EXEC usp_UpdateBernCoTaxesDue 'ABQ'") =-=-=-=-=-=-=-="Jason Keats" wrote: Display the quote
Reply to this message #3 Jason Keats November 20th, 2009 - 08:14 am ET | Report spam

JohnJohn wrote: Display the quote Despite your "attitude"... I believe you should be using the command object and output parameters, rather than trying to return a recordset. VB probably complains because it wouldn't be able to update/save the recordset - but that's just a guess. First change the top of your stored procedure to use output parameters... CREATE PROCEDURE usp_UpdateBernCoTaxesDue ( @OfcCode CHAR(3), @NumFirstHalfRecs INTEGER OUTPUT, @NumSecondHalfRecs INTEGER OUTPUT ) AS DECLARE @StartDate DATETIME, @EndDate DATETIME ... then try code something like the following... Public Sub TestExecuteCommand() Dim Dim Dim Dim i As Integer sCnn As String cmd As ADODB.Command prm As ADODB.Parameter

sCnn = "Provider=SQLOLEDB;server=MyServer;uid=MyUser;pwd=MyPassword;database=MyDB" Set cmd = New ADODB.Command cmd.CommandType = ADODB.CommandTypeEnum.adCmdStoredProc cmd.CommandText = "usp_UpdateBernCoTaxesDue" Set prm = New ADODB.Parameter Set prm = cmd.CreateParameter("RETURN_VALUE", adInteger, adParamReturnValue, 0) cmd.Parameters.Append prm

Set prm = cmd.CreateParameter("@OfcCode", ADODB.DataTypeEnum.adChar, ADODB.ParameterDirectionEnum.adParamInput, 3, "ABQ") cmd.Parameters.Append prm 'Output parameters... Set prm = cmd.CreateParameter("@NumFirstHalfRecs", ADODB.DataTypeEnum.adInteger, ADODB.ParameterDirectionEnum.adParamOutput) cmd.Parameters.Append prm Set prm = cmd.CreateParameter("@NumSecondHalfRecs", ADODB.DataTypeEnum.adInteger, ADODB.ParameterDirectionEnum.adParamOutput) cmd.Parameters.Append prm Call ExecuteCommand(sCnn, cmd) Debug.Print "Returned parameters..." If cmd.Parameters.Count > 0 Then For i = 0 To cmd.Parameters.Count - 1 Debug.Print "Parameter " & i Debug.Print "Name: " & cmd.Parameters(i).Name Debug.Print "Type: " & cmd.Parameters(i).Type Debug.Print "Direction: " & cmd.Parameters(i).Direction Debug.Print "Size: " & cmd.Parameters(i).Size Debug.Print "Value: " & cmd.Parameters(i).Value Debug.Print Next i Else Debug.Print "No parameters!" Debug.Assert False End If End Sub Private Sub ExecuteCommand(ByVal sCnn As String, ByRef cmd As ADODB.Command) Dim cnn As ADODB.Connection Set cnn = New ADODB.Connection With cnn .Mode = ADODB.ConnectModeEnum.adModeReadWrite .CursorLocation = ADODB.CursorLocationEnum.adUseClient .ConnectionTimeout = 15 .CommandTimeout = 90 .Open sCnn End With If cnn Is Nothing Then Debug.Assert False Else cnn.BeginTrans Set cmd.ActiveConnection = cnn cmd.Execute , , ADODB.ExecuteOptionEnum.adExecuteNoRecords Set cmd.ActiveConnection = Nothing

If cnn.state = ADODB.ObjectStateEnum.adStateOpen Then cnn.CommitTrans cnn.Close End If Set cnn = Nothing End If End Sub Note the output in your Immediate window! Hope this helps.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy