rwheeler23
asked on
What is the alternative for commandbuilder using c#?
The more I read about commandbuilder the less I think I should be using it. I am using commandbuilder here to populate a datagridview. How would I restructure this code to not use commandbuilder to populate the datagridview?
private void DisplayEditCHFLET()
{
try
{
EditCHFLETDataSet = new System.Data.DataSet(); /* Define the data set for the list of personnel */
EditCHFLETDataSet.CaseSens itive = false;
EditCHFLETDataCommand = new System.Data.SqlClient.SqlC ommand();
EditCHFLETDataCommand.Conn ection = EditCHFLETDataConnection;
EditCHFLETDataCommand.Comm andText = "SELECT [GRUPFLAG],[RANKNMBR],[FUL LNAME],[AS GNMENT],[A PPTDATE],[ SHIFT],[SH LDNMBR],[R ANK],[RANK DATE],[PIN NUMBR],[RO W_ID] " +
"FROM [PERSASGN] WHERE [GRUPFLAG] = 'CHFLET' ORDER BY[FULLNAME]";
EditCHFLETDataAdapter = new System.Data.SqlClient.SqlD ataAdapter ();
EditCHFLETDataAdapter.Sele ctCommand = EditCHFLETDataCommand;
_commandBuilder = new System.Data.SqlClient.SqlC ommandBuil der(EditCH FLETDataAd apter);
EditCHFLETDataAdapter.Fill (EditCHFLE TDataSet);
if (EditCHFLETDataSet == null || (EditCHFLETDataSet.Tables. Count == 0) || (EditCHFLETDataSet.Tables[ 0].Rows.Co unt == 0))
{
MessageBox.Show("No records found in personnel database. Please start entering personnel information.");
}
dgvEditCHFLET.DataError += new DataGridViewDataErrorEvent Handler(dg vEditCHFLE T_DataErro r);
/* Set display properties of the data grid view */
dgvEditCHFLET.RowHeadersVi sible = false;
dgvEditCHFLET.DataSource = EditCHFLETDataSet.Tables[0 ].DefaultV iew;
dgvEditCHFLET.AutoGenerate Columns = true;
dgvEditCHFLET.DefaultCellS tyle.NullV alue = ' ';
dgvEditCHFLET.AllowUserToA ddRows = false;
/* Setup the display properties of the columns within the data grid view */
dgvEditCHFLET.Columns[0].W idth = 100;
dgvEditCHFLET.Columns[0].R eadOnly = false;
dgvEditCHFLET.Columns[0].H eaderText = "Group Flag";
dgvEditCHFLET.Columns[0].V isible = false;
dgvEditCHFLET.Columns[1].W idth = 60;
dgvEditCHFLET.Columns[1].R eadOnly = false;
dgvEditCHFLET.Columns[1].H eaderText = "Rank Number";
dgvEditCHFLET.Columns[2].W idth = 200;
dgvEditCHFLET.Columns[2].R eadOnly = false;
dgvEditCHFLET.Columns[2].H eaderText = "Full Name";
dgvEditCHFLET.Columns[3].W idth = 70;
dgvEditCHFLET.Columns[3].R eadOnly = false;
dgvEditCHFLET.Columns[3].H eaderText = "Assignment";
dgvEditCHFLET.Columns[4].W idth = 76;
dgvEditCHFLET.Columns[4].R eadOnly = false;
dgvEditCHFLET.Columns[4].H eaderText = "Appointed";
dgvEditCHFLET.Columns[5].W idth = 40;
dgvEditCHFLET.Columns[5].R eadOnly = false;
dgvEditCHFLET.Columns[5].H eaderText = "Shift";
dgvEditCHFLET.Columns[6].W idth = 80;
dgvEditCHFLET.Columns[6].R eadOnly = false;
dgvEditCHFLET.Columns[6].H eaderText = "Shield Number";
dgvEditCHFLET.Columns[6].V isible = false;
dgvEditCHFLET.Columns[7].W idth = 102;
dgvEditCHFLET.Columns[7].R eadOnly = false;
dgvEditCHFLET.Columns[7].H eaderText = "Rank";
dgvEditCHFLET.Columns[8].W idth = 80;
dgvEditCHFLET.Columns[8].R eadOnly = false;
dgvEditCHFLET.Columns[8].H eaderText = "Date of Rank";
dgvEditCHFLET.Columns[9].W idth = 60;
dgvEditCHFLET.Columns[9].R eadOnly = false;
dgvEditCHFLET.Columns[9].H eaderText = "PIN Number";
dgvEditCHFLET.Columns[10]. Visible = false;
dgvEditCHFLET.EditMode = DataGridViewEditMode.EditO nEnter;
dgvEditCHFLET.Focus();
}
catch (Exception ex)
{
string eMsg = "EditCHFLET Error:001 + ex.Message";
if (Model.StackTraceWanted) eMsg += "\n" + ex.StackTrace;
MessageBox.Show(eMsg);
}
}
========================== ========== ========== ========== ========== ========== =======
private void btnSave_Click(object sender, EventArgs e)
{
try
{
_commandBuilder.GetUpdateC ommand();
EditCHFLETDataAdapter.Upda te(EditCHF LETDataSet );
DisplayEditCHFLET(); /* Refresh the screen */
}
catch (Exception ex)
{
string eMsg = "EditCHFLET Error:002 + ex.Message";
if (Model.StackTraceWanted) eMsg += "\n" + ex.StackTrace;
MessageBox.Show(eMsg);
}
}
private void DisplayEditCHFLET()
{
try
{
EditCHFLETDataSet = new System.Data.DataSet(); /* Define the data set for the list of personnel */
EditCHFLETDataSet.CaseSens
EditCHFLETDataCommand = new System.Data.SqlClient.SqlC
EditCHFLETDataCommand.Conn
EditCHFLETDataCommand.Comm
"FROM [PERSASGN] WHERE [GRUPFLAG] = 'CHFLET' ORDER BY[FULLNAME]";
EditCHFLETDataAdapter = new System.Data.SqlClient.SqlD
EditCHFLETDataAdapter.Sele
_commandBuilder = new System.Data.SqlClient.SqlC
EditCHFLETDataAdapter.Fill
if (EditCHFLETDataSet == null || (EditCHFLETDataSet.Tables.
{
MessageBox.Show("No records found in personnel database. Please start entering personnel information.");
}
dgvEditCHFLET.DataError += new DataGridViewDataErrorEvent
/* Set display properties of the data grid view */
dgvEditCHFLET.RowHeadersVi
dgvEditCHFLET.DataSource = EditCHFLETDataSet.Tables[0
dgvEditCHFLET.AutoGenerate
dgvEditCHFLET.DefaultCellS
dgvEditCHFLET.AllowUserToA
/* Setup the display properties of the columns within the data grid view */
dgvEditCHFLET.Columns[0].W
dgvEditCHFLET.Columns[0].R
dgvEditCHFLET.Columns[0].H
dgvEditCHFLET.Columns[0].V
dgvEditCHFLET.Columns[1].W
dgvEditCHFLET.Columns[1].R
dgvEditCHFLET.Columns[1].H
dgvEditCHFLET.Columns[2].W
dgvEditCHFLET.Columns[2].R
dgvEditCHFLET.Columns[2].H
dgvEditCHFLET.Columns[3].W
dgvEditCHFLET.Columns[3].R
dgvEditCHFLET.Columns[3].H
dgvEditCHFLET.Columns[4].W
dgvEditCHFLET.Columns[4].R
dgvEditCHFLET.Columns[4].H
dgvEditCHFLET.Columns[5].W
dgvEditCHFLET.Columns[5].R
dgvEditCHFLET.Columns[5].H
dgvEditCHFLET.Columns[6].W
dgvEditCHFLET.Columns[6].R
dgvEditCHFLET.Columns[6].H
dgvEditCHFLET.Columns[6].V
dgvEditCHFLET.Columns[7].W
dgvEditCHFLET.Columns[7].R
dgvEditCHFLET.Columns[7].H
dgvEditCHFLET.Columns[8].W
dgvEditCHFLET.Columns[8].R
dgvEditCHFLET.Columns[8].H
dgvEditCHFLET.Columns[9].W
dgvEditCHFLET.Columns[9].R
dgvEditCHFLET.Columns[9].H
dgvEditCHFLET.Columns[10].
dgvEditCHFLET.EditMode = DataGridViewEditMode.EditO
dgvEditCHFLET.Focus();
}
catch (Exception ex)
{
string eMsg = "EditCHFLET Error:001 + ex.Message";
if (Model.StackTraceWanted) eMsg += "\n" + ex.StackTrace;
MessageBox.Show(eMsg);
}
}
==========================
private void btnSave_Click(object sender, EventArgs e)
{
try
{
_commandBuilder.GetUpdateC
EditCHFLETDataAdapter.Upda
DisplayEditCHFLET(); /* Refresh the screen */
}
catch (Exception ex)
{
string eMsg = "EditCHFLET Error:002 + ex.Message";
if (Model.StackTraceWanted) eMsg += "\n" + ex.StackTrace;
MessageBox.Show(eMsg);
}
}
ASKER
commandbuilder does not support sql joins. This make it very limiting. I would need to build a sql view first.
This question needs an answer!
Become an EE member today
7 DAY FREE TRIALMembers can start a 7-Day Free trial then enjoy unlimited access to the platform.
View membership options
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Why do you say that? Does it not work for you?