| | |
ADO.NET question modification.
Please support our VB.NET advertiser: $4.95 a Month - ASP.NET Web Hosting – Click Here!
![]() |
•
•
Join Date: Sep 2005
Posts: 14
Reputation:
Solved Threads: 0
I have the following procedure
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
/* ------------------------------------------------------------
PROCEDURE: dbo.prc_TransOverride_upd
Description: Updates a record In table 'dbo.prc_TransOverride_upd'
------------------------------------------------------------ */
CREATE PROCEDURE dbo.prc_TransOverride_upd
(
@Policy_Nbr varchar(7),
@Trans_CodeOrig varchar(6),
@Trans_Eff_Date datetime,
@Override_Code varchar(2),
@NR_CodeOvr varchar(1),
@Trans_CodeOvr varchar(6),
@CreatedDate datetime,
@CreatedUID nvarchar(48),
@ModifiedDate datetime,
@ModifiedUID nvarchar(48),
@Plan_Year int
)
As
BEGIN
DECLARE @Err Int
UPDATE [TransOverride]
Set
[Policy_Nbr] = @Policy_Nbr,
[Trans_CodeOrig] = @Trans_CodeOrig,
[Trans_Eff_Date] = @Trans_Eff_Date,
[Override_Code] = @Override_Code,
[NR_CodeOvr] = @NR_CodeOvr,
[Trans_CodeOvr] = @Trans_CodeOvr,
[CreatedDate] = @CreatedDate,
[CreatedUID] = @CreatedUID,
[ModifiedDate] = @ModifiedDate,
[ModifiedUID] = @ModifiedUID,
[Plan_Year] = @Plan_Year
WHERE
[Policy_Nbr] = @Policy_Nbr AND
[Trans_CodeOrig] = @Trans_CodeOrig AND
[Trans_Eff_Date] = @Trans_Eff_Date
Set @Err = @@Error
RETURN @Err
End
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
With this in mind I have, where I have to keed the old values
oldPolicyNumber = dr.Item(1)
oldTransCode = dr.Item(2)
oldTransEffDate = dr.Item(3)
before they are modified in a diolog form. Then I must do an update that requires the old values in the where clause.
Now see the question below.
Public Sub DoModify()
Dim bm As BindingManagerBase = Me.DataGrid1.BindingContext(Me.DataGrid1.DataSource, Me.DataGrid1.DataMember)
Dim dr As DataRow = CType(bm.Current, DataRowView).Row
Dim editform As New EditTransOverride(dr)
oldPolicyNumber = dr.Item(1)
oldTransCode = dr.Item(2)
oldTransEffDate = dr.Item(3)
Dim retval As DialogResult = editform.ShowDialog()
If retval = DialogResult.OK Then
bm.EndCurrentEdit()
Try
Dim substr As String = dr.Item(4)
substr = substr.Substring(0, 2)
ExecOnTransOverride.upd(dr.Item(1), dr.Item(2), dr.Item(3), dr.Item(4), dr.Item(5), dr.Item(6), dr.Item(8), dr.Item(7), DateTime.Now, dr.Item(7), dr.Item(9), oldPolicyNumber, oldTransCode, oldTransEffDate)
SqlDataAdapter1.Update(ds, "DsTransOverride1")
ds.Tables("DsTransOverride1").AcceptChanges()
MsgBox("Data Inserted Successfully !", MsgBoxStyle.Information, Me.Text)
Catch se As SqlException
MessageBox.Show(se.Message)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Else
bm.CancelCurrentEdit()
End If
End Sub
Now I have the following ado.net code that first I must add the three paramaters in
strPolicy_Nbr_old As Object, strTrans_CodeOrig_old As Object, dteTrans_Eff_Date_old As Object
in the subroutine with the appropriate direction and modify the stored procedure to work with this.
Public Shared Function upd( _
ByVal strPolicy_Nbr As Object, _
ByVal strTrans_CodeOrig As Object, _
ByVal dteTrans_Eff_Date As Object, _
ByVal varOverride_Code As Object, _
ByVal varNR_CodeOvr As Object, _
ByVal varTrans_CodeOvr As Object, _
ByVal dteCreatedDate As Object, _
ByVal strCreatedUID As Object, _
ByVal dteModifiedDate As Object, _
ByVal varModifiedUID As Object, _
ByVal lngPlan_Year As Object, _
ByVal strPolicy_Nbr_old As Object, _
ByVal strTrans_CodeOrig_old As Object, _
ByVal dteTrans_Eff_Date_old As Object _
) As Object
' construct new connection And command objects
Dim conn As SqlConnection = GetConn()
Dim cmd As SqlCommand = GetSprocCmd("prc_TransOverride_upd", conn)
Dim param As SqlParameter
' add return value param
param = New SqlParameter("@RETURN_VALUE", SqlDbType.Int)
param.Direction = ParameterDirection.ReturnValue
cmd.Parameters.Add(param)
' add params
' parameter for Policy_Nbr column
param = New SqlParameter("@Policy_Nbr", System.Data.SqlDbType.VarChar, 7)
param.Direction = ParameterDirection.Input
param.Value = strPolicy_Nbr
cmd.Parameters.Add(param)
' parameter for Trans_CodeOrig column
param = New SqlParameter("@Trans_CodeOrig", System.Data.SqlDbType.VarChar, 6)
param.Direction = ParameterDirection.Input
param.Value = strTrans_CodeOrig
cmd.Parameters.Add(param)
' parameter for Trans_Eff_Date column
param = New SqlParameter("@Trans_Eff_Date", System.Data.SqlDbType.DateTime, 8)
param.Direction = ParameterDirection.Input
param.Value = dteTrans_Eff_Date
cmd.Parameters.Add(param)
' parameter for Override_Code column
param = New SqlParameter("@Override_Code", System.Data.SqlDbType.VarChar, 2)
param.Direction = ParameterDirection.Input
param.Value = varOverride_Code
cmd.Parameters.Add(param)
' parameter for NR_CodeOvr column
param = New SqlParameter("@NR_CodeOvr", System.Data.SqlDbType.VarChar, 1)
param.Direction = ParameterDirection.Input
param.Value = varNR_CodeOvr
cmd.Parameters.Add(param)
' parameter for Trans_CodeOvr column
param = New SqlParameter("@Trans_CodeOvr", System.Data.SqlDbType.VarChar, 6)
param.Direction = ParameterDirection.Input
param.Value = varTrans_CodeOvr
cmd.Parameters.Add(param)
' parameter for CreatedDate column
param = New SqlParameter("@CreatedDate", System.Data.SqlDbType.DateTime, 8)
param.Direction = ParameterDirection.Input
param.Value = dteCreatedDate
cmd.Parameters.Add(param)
' parameter for CreatedUID column
param = New SqlParameter("@CreatedUID", System.Data.SqlDbType.NVarChar, 48)
param.Direction = ParameterDirection.Input
param.Value = strCreatedUID
cmd.Parameters.Add(param)
' parameter for ModifiedDate column
param = New SqlParameter("@ModifiedDate", System.Data.SqlDbType.DateTime, 8)
param.Direction = ParameterDirection.Input
param.Value = dteModifiedDate
cmd.Parameters.Add(param)
' parameter for ModifiedUID column
param = New SqlParameter("@ModifiedUID", System.Data.SqlDbType.NVarChar, 48)
param.Direction = ParameterDirection.Input
param.Value = varModifiedUID
cmd.Parameters.Add(param)
' parameter for Plan_Year column
param = New SqlParameter("@Plan_Year", System.Data.SqlDbType.Int, 4)
param.Direction = ParameterDirection.Input
param.Value = lngPlan_Year
cmd.Parameters.Add(param)
' open connection
conn.Open()
' Execute command
cmd.ExecuteNonQuery()
' get return value
Dim result As Integer = GetSProcReturnValue(cmd)
' close connection
conn.Close()
Return result
End Function
Here is the stored procedure:
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
/* ------------------------------------------------------------
PROCEDURE: dbo.prc_TransOverride_upd
Description: Updates a record In table 'dbo.prc_TransOverride_upd'
------------------------------------------------------------ */
CREATE PROCEDURE dbo.prc_TransOverride_upd
(
@Policy_Nbr varchar(7),
@Trans_CodeOrig varchar(6),
@Trans_Eff_Date datetime,
@Override_Code varchar(2),
@NR_CodeOvr varchar(1),
@Trans_CodeOvr varchar(6),
@CreatedDate datetime,
@CreatedUID nvarchar(48),
@ModifiedDate datetime,
@ModifiedUID nvarchar(48),
@Plan_Year int
)
As
BEGIN
DECLARE @Err Int
UPDATE [TransOverride]
Set
[Policy_Nbr] = @Policy_Nbr,
[Trans_CodeOrig] = @Trans_CodeOrig,
[Trans_Eff_Date] = @Trans_Eff_Date,
[Override_Code] = @Override_Code,
[NR_CodeOvr] = @NR_CodeOvr,
[Trans_CodeOvr] = @Trans_CodeOvr,
[CreatedDate] = @CreatedDate,
[CreatedUID] = @CreatedUID,
[ModifiedDate] = @ModifiedDate,
[ModifiedUID] = @ModifiedUID,
[Plan_Year] = @Plan_Year
WHERE
[Policy_Nbr] = @Policy_Nbr AND
[Trans_CodeOrig] = @Trans_CodeOrig AND
[Trans_Eff_Date] = @Trans_Eff_Date
Set @Err = @@Error
RETURN @Err
End
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
I think I should add something like this in my ado.net
' The addition of three
' add params
' parameter for Policy_Nbr column
param = New SqlParameter("@Policy_Nbr_Old", System.Data.SqlDbType.VarChar, 7)
param.Direction = ParameterDirection.Input
param.Value = strPolicy_Nbr_old
cmd.Parameters.Add(param)
' parameter for Trans_CodeOrig column
param = New SqlParameter("@Trans_CodeOrig_Old", System.Data.SqlDbType.VarChar, 6)
param.Direction = ParameterDirection.Input
param.Value = strTrans_CodeOrig_old
cmd.Parameters.Add(param)
' parameter for Trans_Eff_Date column
param = New SqlParameter("@Trans_Eff_Date_Old", System.Data.SqlDbType.DateTime, 8)
param.Direction = ParameterDirection.Input
param.Value = dteTrans_Eff_Date_old
cmd.Parameters.Add(param)
and then I will have to add these to my stored procedure.
I know it is a long question but any help would be well acknowledge.
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
/* ------------------------------------------------------------
PROCEDURE: dbo.prc_TransOverride_upd
Description: Updates a record In table 'dbo.prc_TransOverride_upd'
------------------------------------------------------------ */
CREATE PROCEDURE dbo.prc_TransOverride_upd
(
@Policy_Nbr varchar(7),
@Trans_CodeOrig varchar(6),
@Trans_Eff_Date datetime,
@Override_Code varchar(2),
@NR_CodeOvr varchar(1),
@Trans_CodeOvr varchar(6),
@CreatedDate datetime,
@CreatedUID nvarchar(48),
@ModifiedDate datetime,
@ModifiedUID nvarchar(48),
@Plan_Year int
)
As
BEGIN
DECLARE @Err Int
UPDATE [TransOverride]
Set
[Policy_Nbr] = @Policy_Nbr,
[Trans_CodeOrig] = @Trans_CodeOrig,
[Trans_Eff_Date] = @Trans_Eff_Date,
[Override_Code] = @Override_Code,
[NR_CodeOvr] = @NR_CodeOvr,
[Trans_CodeOvr] = @Trans_CodeOvr,
[CreatedDate] = @CreatedDate,
[CreatedUID] = @CreatedUID,
[ModifiedDate] = @ModifiedDate,
[ModifiedUID] = @ModifiedUID,
[Plan_Year] = @Plan_Year
WHERE
[Policy_Nbr] = @Policy_Nbr AND
[Trans_CodeOrig] = @Trans_CodeOrig AND
[Trans_Eff_Date] = @Trans_Eff_Date
Set @Err = @@Error
RETURN @Err
End
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
With this in mind I have, where I have to keed the old values
oldPolicyNumber = dr.Item(1)
oldTransCode = dr.Item(2)
oldTransEffDate = dr.Item(3)
before they are modified in a diolog form. Then I must do an update that requires the old values in the where clause.
Now see the question below.
Public Sub DoModify()
Dim bm As BindingManagerBase = Me.DataGrid1.BindingContext(Me.DataGrid1.DataSource, Me.DataGrid1.DataMember)
Dim dr As DataRow = CType(bm.Current, DataRowView).Row
Dim editform As New EditTransOverride(dr)
oldPolicyNumber = dr.Item(1)
oldTransCode = dr.Item(2)
oldTransEffDate = dr.Item(3)
Dim retval As DialogResult = editform.ShowDialog()
If retval = DialogResult.OK Then
bm.EndCurrentEdit()
Try
Dim substr As String = dr.Item(4)
substr = substr.Substring(0, 2)
ExecOnTransOverride.upd(dr.Item(1), dr.Item(2), dr.Item(3), dr.Item(4), dr.Item(5), dr.Item(6), dr.Item(8), dr.Item(7), DateTime.Now, dr.Item(7), dr.Item(9), oldPolicyNumber, oldTransCode, oldTransEffDate)
SqlDataAdapter1.Update(ds, "DsTransOverride1")
ds.Tables("DsTransOverride1").AcceptChanges()
MsgBox("Data Inserted Successfully !", MsgBoxStyle.Information, Me.Text)
Catch se As SqlException
MessageBox.Show(se.Message)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Else
bm.CancelCurrentEdit()
End If
End Sub
Now I have the following ado.net code that first I must add the three paramaters in
strPolicy_Nbr_old As Object, strTrans_CodeOrig_old As Object, dteTrans_Eff_Date_old As Object
in the subroutine with the appropriate direction and modify the stored procedure to work with this.
Public Shared Function upd( _
ByVal strPolicy_Nbr As Object, _
ByVal strTrans_CodeOrig As Object, _
ByVal dteTrans_Eff_Date As Object, _
ByVal varOverride_Code As Object, _
ByVal varNR_CodeOvr As Object, _
ByVal varTrans_CodeOvr As Object, _
ByVal dteCreatedDate As Object, _
ByVal strCreatedUID As Object, _
ByVal dteModifiedDate As Object, _
ByVal varModifiedUID As Object, _
ByVal lngPlan_Year As Object, _
ByVal strPolicy_Nbr_old As Object, _
ByVal strTrans_CodeOrig_old As Object, _
ByVal dteTrans_Eff_Date_old As Object _
) As Object
' construct new connection And command objects
Dim conn As SqlConnection = GetConn()
Dim cmd As SqlCommand = GetSprocCmd("prc_TransOverride_upd", conn)
Dim param As SqlParameter
' add return value param
param = New SqlParameter("@RETURN_VALUE", SqlDbType.Int)
param.Direction = ParameterDirection.ReturnValue
cmd.Parameters.Add(param)
' add params
' parameter for Policy_Nbr column
param = New SqlParameter("@Policy_Nbr", System.Data.SqlDbType.VarChar, 7)
param.Direction = ParameterDirection.Input
param.Value = strPolicy_Nbr
cmd.Parameters.Add(param)
' parameter for Trans_CodeOrig column
param = New SqlParameter("@Trans_CodeOrig", System.Data.SqlDbType.VarChar, 6)
param.Direction = ParameterDirection.Input
param.Value = strTrans_CodeOrig
cmd.Parameters.Add(param)
' parameter for Trans_Eff_Date column
param = New SqlParameter("@Trans_Eff_Date", System.Data.SqlDbType.DateTime, 8)
param.Direction = ParameterDirection.Input
param.Value = dteTrans_Eff_Date
cmd.Parameters.Add(param)
' parameter for Override_Code column
param = New SqlParameter("@Override_Code", System.Data.SqlDbType.VarChar, 2)
param.Direction = ParameterDirection.Input
param.Value = varOverride_Code
cmd.Parameters.Add(param)
' parameter for NR_CodeOvr column
param = New SqlParameter("@NR_CodeOvr", System.Data.SqlDbType.VarChar, 1)
param.Direction = ParameterDirection.Input
param.Value = varNR_CodeOvr
cmd.Parameters.Add(param)
' parameter for Trans_CodeOvr column
param = New SqlParameter("@Trans_CodeOvr", System.Data.SqlDbType.VarChar, 6)
param.Direction = ParameterDirection.Input
param.Value = varTrans_CodeOvr
cmd.Parameters.Add(param)
' parameter for CreatedDate column
param = New SqlParameter("@CreatedDate", System.Data.SqlDbType.DateTime, 8)
param.Direction = ParameterDirection.Input
param.Value = dteCreatedDate
cmd.Parameters.Add(param)
' parameter for CreatedUID column
param = New SqlParameter("@CreatedUID", System.Data.SqlDbType.NVarChar, 48)
param.Direction = ParameterDirection.Input
param.Value = strCreatedUID
cmd.Parameters.Add(param)
' parameter for ModifiedDate column
param = New SqlParameter("@ModifiedDate", System.Data.SqlDbType.DateTime, 8)
param.Direction = ParameterDirection.Input
param.Value = dteModifiedDate
cmd.Parameters.Add(param)
' parameter for ModifiedUID column
param = New SqlParameter("@ModifiedUID", System.Data.SqlDbType.NVarChar, 48)
param.Direction = ParameterDirection.Input
param.Value = varModifiedUID
cmd.Parameters.Add(param)
' parameter for Plan_Year column
param = New SqlParameter("@Plan_Year", System.Data.SqlDbType.Int, 4)
param.Direction = ParameterDirection.Input
param.Value = lngPlan_Year
cmd.Parameters.Add(param)
' open connection
conn.Open()
' Execute command
cmd.ExecuteNonQuery()
' get return value
Dim result As Integer = GetSProcReturnValue(cmd)
' close connection
conn.Close()
Return result
End Function
Here is the stored procedure:
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
/* ------------------------------------------------------------
PROCEDURE: dbo.prc_TransOverride_upd
Description: Updates a record In table 'dbo.prc_TransOverride_upd'
------------------------------------------------------------ */
CREATE PROCEDURE dbo.prc_TransOverride_upd
(
@Policy_Nbr varchar(7),
@Trans_CodeOrig varchar(6),
@Trans_Eff_Date datetime,
@Override_Code varchar(2),
@NR_CodeOvr varchar(1),
@Trans_CodeOvr varchar(6),
@CreatedDate datetime,
@CreatedUID nvarchar(48),
@ModifiedDate datetime,
@ModifiedUID nvarchar(48),
@Plan_Year int
)
As
BEGIN
DECLARE @Err Int
UPDATE [TransOverride]
Set
[Policy_Nbr] = @Policy_Nbr,
[Trans_CodeOrig] = @Trans_CodeOrig,
[Trans_Eff_Date] = @Trans_Eff_Date,
[Override_Code] = @Override_Code,
[NR_CodeOvr] = @NR_CodeOvr,
[Trans_CodeOvr] = @Trans_CodeOvr,
[CreatedDate] = @CreatedDate,
[CreatedUID] = @CreatedUID,
[ModifiedDate] = @ModifiedDate,
[ModifiedUID] = @ModifiedUID,
[Plan_Year] = @Plan_Year
WHERE
[Policy_Nbr] = @Policy_Nbr AND
[Trans_CodeOrig] = @Trans_CodeOrig AND
[Trans_Eff_Date] = @Trans_Eff_Date
Set @Err = @@Error
RETURN @Err
End
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
I think I should add something like this in my ado.net
' The addition of three
' add params
' parameter for Policy_Nbr column
param = New SqlParameter("@Policy_Nbr_Old", System.Data.SqlDbType.VarChar, 7)
param.Direction = ParameterDirection.Input
param.Value = strPolicy_Nbr_old
cmd.Parameters.Add(param)
' parameter for Trans_CodeOrig column
param = New SqlParameter("@Trans_CodeOrig_Old", System.Data.SqlDbType.VarChar, 6)
param.Direction = ParameterDirection.Input
param.Value = strTrans_CodeOrig_old
cmd.Parameters.Add(param)
' parameter for Trans_Eff_Date column
param = New SqlParameter("@Trans_Eff_Date_Old", System.Data.SqlDbType.DateTime, 8)
param.Direction = ParameterDirection.Input
param.Value = dteTrans_Eff_Date_old
cmd.Parameters.Add(param)
and then I will have to add these to my stored procedure.
I know it is a long question but any help would be well acknowledge.
![]() |
Similar Threads
- Saving Excel Spreadsheet using ADO.net gives inconsistent results (C#)
- DataGrid with ado.net. (VB.NET)
- Long ado net question but urgent help required (ASP.NET)
- ADO.Net SQL UPDATE using OleDBAdapter (C#)
- Can i do something international using which side of vb.net whether it is ado.net, we (VB.NET)
- Data Navigation in textboxes with ADO.NET (like ADO) (ASP.NET)
Other Threads in the VB.NET Forum
- Previous Thread: Centering a form in VB.NET
- Next Thread: DataGrid with ado.net.
| Thread Tools | Search this Thread |
"crystal .net .net2005 .net2008 30minutes 2005 2008 access account arithmetic array basic button buttons center check code component connectionstring convert crystalreport data database databasesearch datagrid datagridview date design dissertation dissertations dissertationthesis dosconsolevb.net dropdownlist excel fade file-dialog filter firewall folder ftp generatetags hardcopy image images input insert intel math monitor navigate net networking opacity output panel passingparameters peertopeervideostreaming picturebox picturebox1 port printing problem problemwithinstallation project reports" savedialog searchvb.net select shutdown string survey tcp temperature text textbox timer timespan toolbox trim updown user useraccounts usercontrol vb vb.net vb.netcode vb.netformclosing()eventpictureboxmessagebox vb.nettoolboxvisualbasic2008sidebar vb2008 vbnet view visual visualbasic visualbasic.net visualstudio visualstudio2008 web winforms wpf year





