コード例 #1
0
ファイル: frmMain.cs プロジェクト: jstntham/SPDG
        private void dgSP_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                try
                {
                    SPGDataHelper spg = new SPGDataHelper();
                    dgSPParams.Rows.Clear();

                    lStoredProcedure.Text = spg.GetStoredProcedureContent(tConString.Text, dgSP.Rows[e.RowIndex].Cells[0].Value.ToString());
                    lClass.Text = SPGHelper.GenerateClass(tConString.Text, tNamespace.Text,
                        dgSP.Rows[e.RowIndex].Cells["SPName"].Value.ToString(),
                        Convert.ToBoolean(dgSP.Rows[e.RowIndex].Cells["Skip"].Value.ToString()),
                        Convert.ToBoolean(dgSP.Rows[e.RowIndex].Cells["ExecuteDataSet"].Value.ToString()),
                        Convert.ToBoolean(dgSP.Rows[e.RowIndex].Cells["ExecuteDataReader"].Value.ToString()),
                        Convert.ToBoolean(dgSP.Rows[e.RowIndex].Cells["ExecuteXML"].Value.ToString()),
                        Convert.ToBoolean(dgSP.Rows[e.RowIndex].Cells["ExecuteNonQuery"].Value.ToString()),
                        Convert.ToBoolean(dgSP.Rows[e.RowIndex].Cells["ExecuteScalar"].Value.ToString()),
                        dgSPParams).ToString();
                }
                catch (Exception ex)
                {
                    sbStatus.Text = ex.Message;
                }
            }
        }
コード例 #2
0
ファイル: frmMain.cs プロジェクト: jstntham/SPDG
        private void SynchronizeSP()
        {
            if (!SPGDataHelper.TestConString(tConString.Text))
            {
                sbStatus.Text = "Connection String Error ...";
            }
            else
            {
                try
                {
                    bool bMerge = false;
                    bool bReplace = false;
                    SPGDataHelper spg = new SPGDataHelper();

                    if (isExistingProject)
                    {
                        DialogResult sr = MessageBox.Show("Synchronizing Stored Procedures will remove current listings. Click Yes to replace, No to merge or Cancel action", "", MessageBoxButtons.YesNoCancel);
                        if (sr == DialogResult.Yes)
                        {
                            bReplace = true;
                        }
                        else if (sr == DialogResult.No)
                        {
                            bMerge = true;
                        }
                    }
                    else
                    {
                        bReplace = true;
                    }

                    if (bReplace || bMerge)
                    {
                        try
                        {
                            if (bReplace)
                            {
                                dgSP.Rows.Clear();
                            }
                            SqlDataReader dr = spg.GetStoredProcedureList(tConString.Text);
                            while (dr.Read())
                            {
                                bool pSkip = false;
                                bool pExecuteDataSet = false;
                                bool pExecuteDataReader = false;
                                bool pExecuteNonQuery = false;
                                bool pExecuteScalar = false;
                                bool pExecuteXML = false;
                                spg.GetStoredProcedureMetadata(tConString.Text, dr["name"].ToString(), out pSkip, out pExecuteDataSet, out pExecuteDataReader, out pExecuteXML, out pExecuteNonQuery, out pExecuteScalar);

                                if (bMerge)
                                {
                                    bool bExists = false;
                                    foreach (DataGridViewRow dvgr in dgSP.Rows)
                                    {
                                        if (dvgr.Cells[0].Value.ToString() == dr["name"].ToString())
                                        {
                                            bExists = true;
                                            if (bExists && (pSkip || pExecuteDataSet || pExecuteDataReader || pExecuteXML || pExecuteNonQuery || pExecuteScalar))
                                            {
                                                dvgr.Cells["Skip"].Value = pSkip;
                                                dvgr.Cells["ExecuteDataSet"].Value = pExecuteDataSet;
                                                dvgr.Cells["ExecuteDataReader"].Value = pExecuteDataReader;
                                                dvgr.Cells["ExecuteXML"].Value = pExecuteXML;
                                                dvgr.Cells["ExecuteNonQuery"].Value = pExecuteNonQuery;
                                                dvgr.Cells["ExecuteScalar"].Value = pExecuteScalar;
                                            }
                                            break;
                                        }
                                    }
                                    if (!bExists)
                                    {
                                        dgSP.Rows.Add(dr["name"].ToString(), pSkip, pExecuteDataSet, pExecuteDataReader, pExecuteXML, pExecuteNonQuery, pExecuteScalar);
                                        sbStatus.Text = "Stored Procedure [" + dr["name"].ToString() + "] added";
                                        bExists = false;
                                    }
                                }
                                else
                                {
                                    dgSP.Rows.Add(dr["name"].ToString(), pSkip, pExecuteDataSet, pExecuteDataReader, pExecuteXML, pExecuteNonQuery, pExecuteScalar);
                                    sbStatus.Text = "Stored Procedure [" + dr["name"].ToString() + "] added";
                                }
                            }
                            isExistingProject = true;
                        }
                        catch (SqlException sqle)
                        {
                            sbStatus.Text = sqle.Message;
                        }
                    }
                }
                catch (Exception ex)
                {
                    sbStatus.Text = ex.Message;
                }
            }
        }