Can someone please tell me why the datagrid doesn't databind and display rows
once the Add button is clicked and the cmdSaveToDatase t event fires, to add a
row to the dataset? I've copied the code:
-------------------
Public Class WebForm1
Inherits System.Web.UI.P age
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnos tics.DebuggerSt epThrough()> Private Sub
InitializeCompo nent()
Me.SqlConnectio n1 = New System.Data.Sql Client.SqlConne ction
Me.DataView1 = New System.Data.Dat aView
Me.SqlDataAdapt er1 = New System.Data.Sql Client.SqlDataA dapter
Me.SqlSelectCom mand1 = New System.Data.Sql Client.SqlComma nd
Me.SqlInsertCom mand1 = New System.Data.Sql Client.SqlComma nd
Me.SqlUpdateCom mand1 = New System.Data.Sql Client.SqlComma nd
Me.SqlDeleteCom mand1 = New System.Data.Sql Client.SqlComma nd
Me.DataSet21 = New _051003._2.Data Set2
CType(Me.DataVi ew1,
System.Componen tModel.ISupport Initialize).Beg inInit()
CType(Me.DataSe t21,
System.Componen tModel.ISupport Initialize).Beg inInit()
'
'SqlConnection1
'
Me.SqlConnectio n1.ConnectionSt ring = "data source=MAGELLAN ;initial
catalog=SS;pass word=;persist security info=Tr" & _
"ue;user id=ssUser2;work station id=""HOPPER-EVO"";packet size=4096"
'
'DataView1
'
Me.DataView1.Ta ble = Me.DataSet21.tb lProjects
'
'SqlDataAdapter 1
'
Me.SqlDataAdapt er1.DeleteComma nd = Me.SqlDeleteCom mand1
Me.SqlDataAdapt er1.InsertComma nd = Me.SqlInsertCom mand1
Me.SqlDataAdapt er1.SelectComma nd = Me.SqlSelectCom mand1
Me.SqlDataAdapt er1.TableMappin gs.AddRange(New
System.Data.Com mon.DataTableMa pping() {New
System.Data.Com mon.DataTableMa pping("Table", "tblProject s", New
System.Data.Com mon.DataColumnM apping() {New
System.Data.Com mon.DataColumnM apping("Name", "Name"), New
System.Data.Com mon.DataColumnM apping("Descrip tion", "Descriptio n"), New
System.Data.Com mon.DataColumnM apping("Departm ent", "Department "), New
System.Data.Com mon.DataColumnM apping("Current Status", "CurrentStatus" ), New
System.Data.Com mon.DataColumnM apping("Project Lead", "ProjectLea d"), New
System.Data.Com mon.DataColumnM apping("LastUpd ate", "LastUpdate "), New
System.Data.Com mon.DataColumnM apping("ID", "ID")})})
Me.SqlDataAdapt er1.UpdateComma nd = Me.SqlUpdateCom mand1
'
'SqlSelectComma nd1
'
Me.SqlSelectCom mand1.CommandTe xt = "SELECT Name, Description,
Department, CurrentStatus, ProjectLead, LastUpdate, ID " & _
"FROM dbo.tblProjects "
Me.SqlSelectCom mand1.Connectio n = Me.SqlConnectio n1
'
'SqlInsertComma nd1
'
Me.SqlInsertCom mand1.CommandTe xt = "INSERT INTO
dbo.tblProjects (Name, Description, Department, CurrentStatus, Project" & _
"Lead, LastUpdate) VALUES (@Name, @Description, @Department,
@CurrentStatus, @Pro" & _
"jectLead, @LastUpdate); SELECT Name, Description, Department,
CurrentStatus, Pro" & _
"jectLead, LastUpdate, ID FROM dbo.tblProjects WHERE (ID =
@@IDENTITY)"
Me.SqlInsertCom mand1.Connectio n = Me.SqlConnectio n1
Me.SqlInsertCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Name", System.Data.Sql DbType.VarChar,
50, "Name"))
Me.SqlInsertCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Descript ion",
System.Data.Sql DbType.VarChar, 300, "Descriptio n"))
Me.SqlInsertCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Departme nt",
System.Data.Sql DbType.VarChar, 100, "Department "))
Me.SqlInsertCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@CurrentS tatus",
System.Data.Sql DbType.VarChar, 50, "CurrentStatus" ))
Me.SqlInsertCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@ProjectL ead",
System.Data.Sql DbType.VarChar, 50, "ProjectLea d"))
Me.SqlInsertCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@LastUpda te",
System.Data.Sql DbType.DateTime , 8, "LastUpdate "))
'
'SqlUpdateComma nd1
'
Me.SqlUpdateCom mand1.CommandTe xt = "UPDATE dbo.tblProjects SET Name
= @Name, Description = @Description, Department =" & _
" @Department, CurrentStatus = @CurrentStatus, ProjectLead =
@ProjectLead, LastUp" & _
"date = @LastUpdate WHERE (ID = @Original_ID) AND (CurrentStatus =
@Original_Curr" & _
"entStatus OR @Original_Curre ntStatus IS NULL AND CurrentStatus IS
NULL) AND (Dep" & _
"artment = @Original_Depar tment OR @Original_Depar tment IS NULL AND
Department IS" & _
" NULL) AND (Description = @Original_Descr iption OR
@Original_Descr iption IS NULL" & _
" AND Description IS NULL) AND (LastUpdate = @Original_LastU pdate OR
@Original_La" & _
"stUpdate IS NULL AND LastUpdate IS NULL) AND (Name = @Original_Name
OR @Original" & _
"_Name IS NULL AND Name IS NULL) AND (ProjectLead =
@Original_Proje ctLead OR @Ori" & _
"ginal_ProjectL ead IS NULL AND ProjectLead IS NULL); SELECT Name,
Description, De" & _
"partment, CurrentStatus, ProjectLead, LastUpdate, ID FROM
dbo.tblProjects WHERE " & _
"(ID = @ID)"
Me.SqlUpdateCom mand1.Connectio n = Me.SqlConnectio n1
Me.SqlUpdateCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Name", System.Data.Sql DbType.VarChar,
50, "Name"))
Me.SqlUpdateCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Descript ion",
System.Data.Sql DbType.VarChar, 300, "Descriptio n"))
Me.SqlUpdateCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Departme nt",
System.Data.Sql DbType.VarChar, 100, "Department "))
Me.SqlUpdateCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@CurrentS tatus",
System.Data.Sql DbType.VarChar, 50, "CurrentStatus" ))
Me.SqlUpdateCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@ProjectL ead",
System.Data.Sql DbType.VarChar, 50, "ProjectLea d"))
Me.SqlUpdateCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@LastUpda te",
System.Data.Sql DbType.DateTime , 8, "LastUpdate "))
Me.SqlUpdateCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Original _ID", System.Data.Sql DbType.Int,
4, System.Data.Par ameterDirection .Input, False, CType(0, Byte), CType(0,
Byte), "ID", System.Data.Dat aRowVersion.Ori ginal, Nothing))
Me.SqlUpdateCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Original _CurrentStatus" ,
System.Data.Sql DbType.VarChar, 50, System.Data.Par ameterDirection .Input,
False, CType(0, Byte), CType(0, Byte), "CurrentStatus" ,
System.Data.Dat aRowVersion.Ori ginal, Nothing))
Me.SqlUpdateCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Original _Department",
System.Data.Sql DbType.VarChar, 100, System.Data.Par ameterDirection .Input,
False, CType(0, Byte), CType(0, Byte), "Department ",
System.Data.Dat aRowVersion.Ori ginal, Nothing))
Me.SqlUpdateCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Original _Description",
System.Data.Sql DbType.VarChar, 300, System.Data.Par ameterDirection .Input,
False, CType(0, Byte), CType(0, Byte), "Descriptio n",
System.Data.Dat aRowVersion.Ori ginal, Nothing))
Me.SqlUpdateCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Original _LastUpdate",
System.Data.Sql DbType.DateTime , 8, System.Data.Par ameterDirection .Input,
False, CType(0, Byte), CType(0, Byte), "LastUpdate ",
System.Data.Dat aRowVersion.Ori ginal, Nothing))
Me.SqlUpdateCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Original _Name",
System.Data.Sql DbType.VarChar, 50, System.Data.Par ameterDirection .Input,
False, CType(0, Byte), CType(0, Byte), "Name",
System.Data.Dat aRowVersion.Ori ginal, Nothing))
Me.SqlUpdateCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Original _ProjectLead",
System.Data.Sql DbType.VarChar, 50, System.Data.Par ameterDirection .Input,
False, CType(0, Byte), CType(0, Byte), "ProjectLea d",
System.Data.Dat aRowVersion.Ori ginal, Nothing))
Me.SqlUpdateCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@ID", System.Data.Sql DbType.Int, 4, "ID"))
'
'SqlDeleteComma nd1
'
Me.SqlDeleteCom mand1.CommandTe xt = "DELETE FROM dbo.tblProjects
WHERE (ID = @Original_ID) AND (CurrentStatus = @Origi" & _
"nal_CurrentSta tus OR @Original_Curre ntStatus IS NULL AND
CurrentStatus IS NULL) " & _
"AND (Department = @Original_Depar tment OR @Original_Depar tment IS
NULL AND Depar" & _
"tment IS NULL) AND (Description = @Original_Descr iption OR
@Original_Descr iption" & _
" IS NULL AND Description IS NULL) AND (LastUpdate =
@Original_LastU pdate OR @Ori" & _
"ginal_LastUpda te IS NULL AND LastUpdate IS NULL) AND (Name =
@Original_Name OR @" & _
"Original_N ame IS NULL AND Name IS NULL) AND (ProjectLead =
@Original_Proje ctLead" & _
" OR @Original_Proje ctLead IS NULL AND ProjectLead IS NULL)"
Me.SqlDeleteCom mand1.Connectio n = Me.SqlConnectio n1
Me.SqlDeleteCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Original _ID", System.Data.Sql DbType.Int,
4, System.Data.Par ameterDirection .Input, False, CType(0, Byte), CType(0,
Byte), "ID", System.Data.Dat aRowVersion.Ori ginal, Nothing))
Me.SqlDeleteCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Original _CurrentStatus" ,
System.Data.Sql DbType.VarChar, 50, System.Data.Par ameterDirection .Input,
False, CType(0, Byte), CType(0, Byte), "CurrentStatus" ,
System.Data.Dat aRowVersion.Ori ginal, Nothing))
Me.SqlDeleteCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Original _Department",
System.Data.Sql DbType.VarChar, 100, System.Data.Par ameterDirection .Input,
False, CType(0, Byte), CType(0, Byte), "Department ",
System.Data.Dat aRowVersion.Ori ginal, Nothing))
Me.SqlDeleteCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Original _Description",
System.Data.Sql DbType.VarChar, 300, System.Data.Par ameterDirection .Input,
False, CType(0, Byte), CType(0, Byte), "Descriptio n",
System.Data.Dat aRowVersion.Ori ginal, Nothing))
Me.SqlDeleteCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Original _LastUpdate",
System.Data.Sql DbType.DateTime , 8, System.Data.Par ameterDirection .Input,
False, CType(0, Byte), CType(0, Byte), "LastUpdate ",
System.Data.Dat aRowVersion.Ori ginal, Nothing))
Me.SqlDeleteCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Original _Name",
System.Data.Sql DbType.VarChar, 50, System.Data.Par ameterDirection .Input,
False, CType(0, Byte), CType(0, Byte), "Name",
System.Data.Dat aRowVersion.Ori ginal, Nothing))
Me.SqlDeleteCom mand1.Parameter s.Add(New
System.Data.Sql Client.SqlParam eter("@Original _ProjectLead",
System.Data.Sql DbType.VarChar, 50, System.Data.Par ameterDirection .Input,
False, CType(0, Byte), CType(0, Byte), "ProjectLea d",
System.Data.Dat aRowVersion.Ori ginal, Nothing))
'
'DataSet21
'
Me.DataSet21.Da taSetName = "DataSet2"
Me.DataSet21.Lo cale = New System.Globaliz ation.CultureIn fo("en-US")
CType(Me.DataVi ew1,
System.Componen tModel.ISupport Initialize).End Init()
CType(Me.DataSe t21,
System.Componen tModel.ISupport Initialize).End Init()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As
System.EventArg s) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeCompo nent()
End Sub
#End Region
#Region "Public Property Declarations"
Public ptySQLDataAdapt er As SqlClient.SqlDa taAdapter
Public ptySQLDataConne ction As SqlClient.SqlCo nnection
Public ptyDataSet As DataSet
#End Region
#Region "Control Event Declarations"
Protected WithEvents Label1 As System.Web.UI.W ebControls.Labe l
Protected WithEvents TextBox1 As System.Web.UI.W ebControls.Text Box
Protected WithEvents TextBox2 As System.Web.UI.W ebControls.Text Box
Protected WithEvents Label3 As System.Web.UI.W ebControls.Labe l
Protected WithEvents Label4 As System.Web.UI.W ebControls.Labe l
Protected WithEvents Label5 As System.Web.UI.W ebControls.Labe l
Protected WithEvents Label6 As System.Web.UI.W ebControls.Labe l
Protected WithEvents txtFirstName As System.Web.UI.W ebControls.Text Box
Protected WithEvents txtLastName As System.Web.UI.W ebControls.Text Box
Protected WithEvents txtPhone As System.Web.UI.W ebControls.Text Box
Protected WithEvents txtAddress As System.Web.UI.W ebControls.Text Box
Protected WithEvents txtID As System.Web.UI.W ebControls.Text Box
Protected WithEvents cmdMoveForward As System.Web.UI.W ebControls.Butt on
Protected WithEvents txtRecordNumber As System.Web.UI.W ebControls.Text Box
Protected WithEvents cmdMoveBack As System.Web.UI.W ebControls.Butt on
Protected WithEvents cmdAdd As System.Web.UI.W ebControls.Butt on
Protected WithEvents cmdDelete As System.Web.UI.W ebControls.Butt on
Protected WithEvents cmdSave As System.Web.UI.W ebControls.Butt on
Protected WithEvents cmdEdit As System.Web.UI.W ebControls.Butt on
Protected WithEvents cmdSaveToDatase t As System.Web.UI.W ebControls.Butt on
Protected WithEvents lblMode As System.Web.UI.W ebControls.Labe l
Protected WithEvents SqlConnection1 As System.Data.Sql Client.SqlConne ction
Protected WithEvents DataView1 As System.Data.Dat aView
Protected WithEvents SqlDataAdapter1 As
System.Data.Sql Client.SqlDataA dapter
Protected WithEvents SqlSelectComman d1 As System.Data.Sql Client.SqlComma nd
Protected WithEvents SqlInsertComman d1 As System.Data.Sql Client.SqlComma nd
Protected WithEvents SqlUpdateComman d1 As System.Data.Sql Client.SqlComma nd
Protected WithEvents SqlDeleteComman d1 As System.Data.Sql Client.SqlComma nd
Protected WithEvents DataSet21 As _051003._2.Data Set2
Protected WithEvents grdAuthors As System.Web.UI.W ebControls.Data Grid
#End Region
Public Property RecordNumber() As Long
Get
Return Me.txtRecordNum ber.Text
End Get
Set(ByVal Value As Long)
Me.txtRecordNum ber.Text = Value
End Set
End Property
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArg s) Handles MyBase.Load
'Put user code to initialize the page here
Dim strSQL As String
If Me.IsPostBack Then
ptyDataSet = Me.Session.Item (0)
ptySQLDataAdapt er = Me.Session.Item (1)
ptySQLDataConne ction = Me.Session.Item (2)
'SqlDataAdapter 1.Fill(ptyDataS et)
'grdAuthors.Dat aBind()
Else
Me.RecordNumber = 1
Try
'Creating the connection object and opening the connection
ptySQLDataConne ction = New SqlClient.SqlCo nnection("data
source=MAGELLAN ;initial catalog=SS;pass word=;persist security info=True;user
id=ssUser2;work station id='HOPPER-EVO';packet size=4096;")
ptySQLDataConne ction.Open()
strSQL = "SELECT * FROM tblProjects"
'Creating the Data Adapter that will fill the DataSet
ptySQLDataAdapt er = New SqlClient.SqlDa taAdapter(strSQ L,
ptySQLDataConne ction)
ptyDataSet = New DataSet
'Filling the DataSet
ptySQLDataAdapt er.Fill(ptyData Set)
'Setting the DataGrids DataSource Property
'If Not Me.IsPostBack Then
grdAuthors.Data Source = ptyDataSet
grdAuthors.Data Bind()
'End If
grdAuthors.Sele ctedIndex = Me.RecordNumber - 1 'The index
property is 0 based so record number 1 is index 0
Me.MoveToRecord (Me.RecordNumbe r)
Me.Session.Item ("Dataset") = ptyDataSet
Me.Session.Item ("DataAdapte r") = ptySQLDataAdapt er
Me.Session.Item ("DataConnectio n") = ptySQLDataConne ction
SqlDataAdapter1 .Fill(DataSet21 )
grdAuthors.Data Bind()
Catch ex As Exception
Console.WriteLi ne(ex.Message)
End Try
End If
End Sub
Public Sub MoveToRecord(By Val Number As Long)
'Moving to the record that is currently displayed in record textbox
With ptyDataSet.Tabl es(0).Rows.Item (Number - 1)
Me.txtID.Text = .Item("ID")
Me.txtFirstName .Text = .Item("Descript ion")
Me.txtLastName. Text = .Item("Departme nt")
Me.txtPhone.Tex t = .Item("CurrentS tatus")
Me.txtAddress.T ext = .Item("ProjectL ead")
End With
End Sub
Public Sub ChangeRecord()
Dim objDataRow As DataRow
Select Case Session.Item("R ecordType")
Case 0
objDataRow = ptyDataSet.Tabl es(0).NewRow
With objDataRow
.Item("ID") = txtID.Text
.Item("Departme nt") = txtLastName.Tex t
.Item("Descript ion") = txtFirstName.Te xt
.Item("CurrentS tatus") = txtPhone.Text
.Item("ProjectL ead") = txtAddress.Text
End With
ptyDataSet.Tabl es(0).Rows.Add( objDataRow)
Case 2
objDataRow = ptyDataSet.Tabl es(0).Rows.Item (Me.RecordNumbe r
- 1)
objDataRow.Dele te()
Case 1
With ptyDataSet.Tabl es(0).Rows.Item (Me.RecordNumbe r - 1)
.Item("ID") = txtID.Text
.Item("Departme nt") = txtLastName.Tex t
.Item("Descript ion") = txtFirstName.Te xt
.Item("CurrentS tatus") = txtPhone.Text
.Item("ProjectL ead") = txtAddress.Text
End With
End Select
SqlDataAdapter1 .Update(ptyData Set)
grdAuthors.Data Bind()
End Sub
Public Sub cmdMoveForward_ Click(ByVal sender As System.Object, ByVal e
As System.EventArg s) Handles cmdMoveForward. Click
'If Me.RecordNumber >= ptyDataSet.Tabl es(0).Rows.Coun t Then Exit Sub
If Me.RecordNumber >= ptyDataSet.Tabl es(0).Rows.Coun t Then Exit Sub
Me.RecordNumber += 1
With grdAuthors
.SelectedIndex = Me.RecordNumber - 1
End With
Me.MoveToRecord (Me.RecordNumbe r)
End Sub
Private Sub cmdMoveBack_Cli ck(ByVal sender As System.Object, ByVal e As
System.EventArg s) Handles cmdMoveBack.Cli ck
If Me.RecordNumber <= 1 Then Exit Sub
Me.RecordNumber -= 1
With grdAuthors
.SelectedIndex = Me.RecordNumber - 1
End With
Me.MoveToRecord (Me.RecordNumbe r)
End Sub
Private Sub cmdSave_Click(B yVal sender As System.Object, ByVal e As
System.EventArg s) Handles cmdSave.Click
Try
Dim objCB As SqlClient.SqlCo mmandBuilder = New
SqlClient.SqlCo mmandBuilder(pt ySQLDataAdapter )
ptySQLDataAdapt er.Update(ptyDa taSet)
Catch ex As Exception
'MsgBox(ex.Mess age)
End Try
lblMode.Text = "Saved record to DB"
End Sub
Private Sub cmdAdd_Click(By Val sender As System.Object, ByVal e As
System.EventArg s) Handles cmdAdd.Click
Session.Item("R ecordType") = 0
Me.txtID.Text = ""
Me.txtFirstName .Text = ""
Me.txtLastName. Text = ""
Me.txtPhone.Tex t = ""
Me.txtAddress.T ext = ""
lblMode.Text = "Add Mode"
End Sub
Private Sub cmdEdit_Click(B yVal sender As System.Object, ByVal e As
System.EventArg s) Handles cmdEdit.Click
Session.Item("R ecordType") = 1
lblMode.Text = "Edit Mode"
End Sub
Private Sub cmdDelete_Click (ByVal sender As System.Object, ByVal e As
System.EventArg s) Handles cmdDelete.Click
Session.Item("R ecordType") = 2
lblMode.Text = "Deleted record from DB"
Me.ChangeRecord ()
With Me.grdAuthors
.DataSource = ptyDataSet
.DataBind()
End With
End Sub
Private Sub cmdSaveToDatase t_Click(ByVal sender As System.Object, ByVal
e As System.EventArg s) Handles cmdSaveToDatase t.Click
Me.ChangeRecord ()
'SqlDataAdapter 1.Update(ptyDat aSet)
'SqlDataAdapter 1.Fill(ptyDataS et)
With Me.grdAuthors
SqlDataAdapter1 .Fill(ptyDataSe t)
'.DataSource = ptyDataSet
.DataBind()
End With
grdAuthors.Sele ctedIndex = Me.RecordNumber - 1 'The index property
is 0 based so record number 1 is index 0
Me.MoveToRecord (Me.RecordNumbe r)
Me.Session.Item ("Dataset") = ptyDataSet
Me.Session.Item ("DataAdapte r") = ptySQLDataAdapt er
Me.Session.Item ("DataConnectio n") = ptySQLDataConne ction
'SqlDataAdapter 1.Fill(DataSet2 1)
'grdAuthors.Dat aBind()
lblMode.Text = "Saved record to DS"
'grdAuthors.Dat aBind()
End Sub
End Class