⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 ADO数据库操作+DataGradView控件
💻 CS
📖 第 1 页 / 共 2 页
字号:
                }
                else
                {
                    prgProgress.Value += 20;
                }
            }
        }

        private void btnGetAllDataBases_Click(object sender, EventArgs e)
        {
            //if (cmbSqlServers.Items.Count > 0 && 
            //    txtPassword.Text.Trim().CompareTo(string.Empty) != 0 &&
            //    txtUserName.Text.Trim().CompareTo(string.Empty) != 0)
            //    //修改- cayman-2.26
            if (cmbSqlServers.Items.Count > -1 &&
           txtPassword.Text.Trim().CompareTo(string.Empty) == 0 &&
           txtUserName.Text.Trim().CompareTo(string.Empty) == 0)
            {
                ticker.Start();
                btnGetAllDataBases.Enabled = false;
                this.Cursor = Cursors.WaitCursor;
                cmbAllDataBases.Items.Clear();
                sqlInfo.SQLServer = cmbSqlServers.Text.Trim();
                sqlInfo.Username = txtUserName.Text.Trim();
                sqlInfo.Password = txtPassword.Text.Trim();
                //选择数据库
                sqlInfo.SQLServer = "cayman";
                sqlInfo.Username = "sa";
                sqlInfo.Password = "sa";


                MessageBox.Show("You may get the list sql servers if user name and password are not correct.", "Information",
                    MessageBoxButtons.OK, MessageBoxIcon.Information,
                    MessageBoxDefaultButton.Button1, 0, false);
                intlDelg = new InternalDelegate(sqlInfo.EnumerateSQLServersDatabases);
                called = CallFor.SqlDataBases;
                intlDelg.BeginInvoke(new AsyncCallback(CallBackMethod), intlDelg);
            }
            else
            {
                MessageBox.Show("No sql servers loaded or user name or password empty...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, 0, false);
            }
        }

        private void btnGetAllTables_Click(object sender, EventArgs e)
        {
            if (cmbAllDataBases.Text.Trim().CompareTo(string.Empty) != 0)
            {
                btnGetAllTables.Enabled = false;
                this.Cursor = Cursors.WaitCursor;
                StringBuilder connStr = new StringBuilder();
                connStr.Append("Database=");
                connStr.Append(cmbAllDataBases.Text);
                connStr.Append(";Server=");
                connStr.Append(cmbSqlServers.Text);
                connStr.Append(";User=");
                connStr.Append(txtUserName.Text.Trim());
                connStr.Append(";Password=");
                connStr.Append(txtPassword.Text.Trim());
                connStr.Append(";Enlist=false; Asynchronous Processing=true");
                connectionString = connStr.ToString();
                sqlQuery = getTablesFromDataBase;
                SetDataObjects();
                try
                {
                    ticker.Start();
                    connection.Open();
                    command.BeginExecuteReader(new AsyncCallback(CallBackMethod),
                        command, CommandBehavior.CloseConnection);
                    called = CallFor.SqlTables;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                    ticker.Stop();
                }
                finally
                {
                    btnGetAllTables.Enabled = true;
                    this.Cursor = Cursors.Default;
                }
            }
            else
            {
                MessageBox.Show("Please select database first.",
                    "No database", MessageBoxButtons.OK, MessageBoxIcon.Warning,
                    MessageBoxDefaultButton.Button1, 0, false);
            }
        }

        private void CallBackMethod(IAsyncResult result)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new AsyncDelegate(CallBackMethod), result);
            }
            else
            {
                try
                {
                    prgProgress.Value = prgProgress.Maximum;
                    switch (called)
                    {
                        case CallFor.SqlServerList:
                            string[] sqlServers = intlDelg.EndInvoke(result);
                            cmbSqlServers.Items.AddRange(sqlServers);
                            if (cmbSqlServers.Items.Count > 0)
                            {
                                cmbSqlServers.Sorted = true;
                                cmbSqlServers.SelectedIndex = 0;
                            }
                            this.Cursor = Cursors.Default;
                            btnLoadSqlServers.Enabled = true;
                            txtUserName.Select();
                            txtUserName.Focus();
                            break;
                        case CallFor.SqlDataBases:
                            string[] sqlDatabases = intlDelg.EndInvoke(result);
                            cmbAllDataBases.Items.AddRange(sqlDatabases);
                            if (cmbAllDataBases.Items.Count > 0)
                            {
                                cmbAllDataBases.Sorted = true;
                                cmbAllDataBases.SelectedIndex = 0;
                            }
                            this.Cursor = Cursors.Default;
                            btnGetAllDataBases.Enabled = true;
                            break;
                        case CallFor.SqlTables:
                            reader = command.EndExecuteReader(result);
                            cmbTables.Items.Clear();
                            while (reader.Read())
                            {
                                cmbTables.Items.Add(reader[0].ToString());
                            }
                            if (cmbTables.Items.Count > 0)
                            {
                                cmbTables.Sorted = true;
                                cmbTables.SelectedIndex = 0;
                                grpDataManipulate.Enabled = true;
                            }
                            else
                            {
                                grpDataManipulate.Enabled = false;
                            }
                            break;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
                finally
                {
                    if (called == CallFor.SqlTables)
                    {
                        btnGetAllTables.Enabled = true;
                        this.Cursor = Cursors.Default;
                    }
                    prgProgress.Value = 0;
                    prgProgress.Refresh();
                    ticker.Stop();
                }
            }
        }

        private void btnFirst_Click(object sender, EventArgs e)
        {
            CreateTempTable(0, int.Parse(cmbNoOfRecords.Text));
            btnPrevious.Enabled = false;
            btnNext.Enabled = true;
            btnLast.Enabled = true;
            isLastPage = false;
        }

        private void btnPrevious_Click(object sender, EventArgs e)
        {
            if (isLastPage)
            {
                int noc = FindLastPageRecords();
                CreateTempTable((totalRecords - noc - int.Parse(cmbNoOfRecords.Text)),
                    int.Parse(cmbNoOfRecords.Text));
            }
            else
            {
                CreateTempTable((currentIndex - 2 * (int.Parse(cmbNoOfRecords.Text))),
                    int.Parse(cmbNoOfRecords.Text));
            }
            btnNext.Enabled = true;
            btnLast.Enabled = true;
            isLastPage = false;
        }

        private void btnNext_Click(object sender, EventArgs e)
        {
            CreateTempTable(currentIndex, int.Parse(cmbNoOfRecords.Text));
            btnPrevious.Enabled = true;
        }

        private void btnLast_Click(object sender, EventArgs e)
        {
            int totPages = totalRecords / int.Parse(cmbNoOfRecords.Text);
            int remainingRecs = FindLastPageRecords();

            CreateTempTable(totalRecords - remainingRecs, int.Parse(cmbNoOfRecords.Text));
            btnPrevious.Enabled = true;
            btnNext.Enabled = false;
            isLastPage = true;
        }

        private int FindLastPageRecords()
        {
            return (totalRecords % int.Parse(cmbNoOfRecords.Text));
        }

        private void btnNoOfPages_Click(object sender, EventArgs e)
        {
            CreateTempTable(0, int.Parse(cmbNoOfRecords.Text.Trim()));
            if (int.Parse(cmbNoOfRecords.Text.Trim()) >= totalRecords)
            {
                btnFirst.Enabled = false;
                btnPrevious.Enabled = false;
                btnNext.Enabled = false;
                btnLast.Enabled = false;
            }
            else
            {
                btnFirst.Enabled = true;
                btnPrevious.Enabled = true;
                btnNext.Enabled = true;
                btnLast.Enabled = true;
            }
        }

        private void userDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (userDataGridView.Columns[e.ColumnIndex].Name.Equals("PHOTO"))
            {
                System.Windows.Forms.DataGridViewCell cell = this.userDataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex];

                if( userDataGridView.ReadOnly.Equals( false))
                {
                    AddPicture AddPicForm = new AddPicture(cell);

                    AddPicForm.Show();
                }

                //e.Value = null;

                //    e.CellStyle.BackColor = System.Drawing.Color.Red;
                //    e.CellStyle.SelectionBackColor = System.Drawing.Color.DarkRed;
                //    cell.ToolTipText = "双击查看图片";
            }
        }

        

        private void button1_Click_1(object sender, EventArgs e)
        {
           
        }

        private void userDataGridView_CellEnter(object sender, DataGridViewCellEventArgs e)
        {
            if (userDataGridView.Columns[e.ColumnIndex].Name.Equals("PHOTO"))
            {
                System.Windows.Forms.DataGridViewCell cell = this.userDataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex];

                if (userDataGridView.ReadOnly.Equals(false))
                {
                    AddPicture AddPicForm = new AddPicture(cell);

                    AddPicForm.Show();
                    MessageBox.Show(cell.Value.ToString() );
                   
                }
                if (userDataGridView.ReadOnly.Equals(true))
                {
                    ShowPicture ShowPicForm = new ShowPicture(cell );
                    ShowPicForm.ShowDialog();
                }

                //e.Value = null;

                //    e.CellStyle.BackColor = System.Drawing.Color.Red;
                //    e.CellStyle.SelectionBackColor = System.Drawing.Color.DarkRed;
                //    cell.ToolTipText = "双击查看图片";
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -