1. 程式人生 > >學習心得之如何在前端界面操作數據表

學習心得之如何在前端界面操作數據表

查詢 dap rom osi 前端 src console 但是 text

如何在前端界面操作數據表

技術分享圖片

CurrentCell 屬性: 取得或者修改當前單元格的內容

Console.WriteLine(DataGridView1.CurrentCell.Value);// 取得當前單元格內容

Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex);// 取得當前單元格的列 Index

Console.WriteLine(DataGridView1.CurrentCell.RowIndex);// 取得當前單元格的行 Index

StartPosition屬性:使窗體在屏幕中間顯示

this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;//this表示的是窗體對象

AllowUserToAddRows屬性:不顯示DataGridView下面的新行

this.dgvFenxzgl.AllowUserToAddRows = false;

AllowUserToOrderColumns 屬性:(為 True 的時候) 用戶可以自由調整列的順序。

當用戶改變列的順序的時候,其本身的 Index 不會改變,但是 DisplayIndex 改變了。你也可以通過程序改變 DisplayIndex 來改變列的順序。 列順序發生改變時會引發 ColumnDisplayIndexChanged 事件:

// DataGridView1的ColumnDisplayIndexChanged事件處理方法

private void DataGridView1_ColumnDisplayIndexChanged(object sender,

DataGridViewColumnEventArgs e)

{

Console.WriteLine("{0} 的位置改變到 {1} ",

e.Column.Name, e.Column.DisplayIndex);

}

dataGridView1.Rows.Add()事件: DataGridView控件增加新的行

dataGridView1.Rows[index].Cells[0].Value = "1"

行、列的隱藏

DataGridView1.Columns[0].Visible = false; // DataGridView1的第一列隱藏

DataGridView1.Rows[0].Visible = false; // DataGridView1的第一行隱藏

行和列的刪除

DataGridView1.Columns.RemoveAt(0); // 刪除第一列

DataGridView1.Rows.RemoveAt(0); //刪除第一行

刪除選中行

foreach (DataGridViewRow r in DataGridView1.SelectedRows)

{

if (!r.IsNewRow)

{

DataGridView1.Rows.Remove(r);

}

}

下面是綜合的一個例子,在數據表中進行查詢,增加,修改,查詢。代碼如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace 藥品工作站
{
    public partial class 采購計劃 : Form
    {
        public 采購計劃()
        {
            InitializeComponent();
            this.StartPosition = FormStartPosition.CenterScreen;                                            //本窗體啟動位置設為屏幕中央; 
            this.dgv.BackgroundColor = Color.White;                                                   //數據網格視圖的背景色設為白色;
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }
        private void 增加_Click(object sender, EventArgs e)
        {
            SqlConnection sqlConnection = new SqlConnection();                                              //聲明並實例化SQL連接;
            sqlConnection.ConnectionString =
            "Server=(local);Database=藥品工作站管理系統;Integrated Security=sspi";                           
            SqlCommand sqlCommand = new SqlCommand(); 
            sqlCommand.Connection = sqlConnection;                                                          
            SqlCommand insertCommand = new SqlCommand();
            insertCommand.Connection = sqlConnection;
            insertCommand.CommandText =                                                                     //指定SQL命令的命令文本;
                 "INSERT 采購計劃"
                 + "(采購編號,制造商編號,藥品名稱,藥品數量,藥品單位,進藥單價,賣藥單價)"
                 + " VALUES(@采購編號,@制造商編號,@藥品名稱,@藥品數量,@藥品單位,@進藥單價,@賣藥單價);";
            insertCommand.Parameters.Add("@采購編號", SqlDbType.Int, 0, "采購編號");                               
            insertCommand.Parameters.Add("@制造商編號", SqlDbType.Int, 0, "制造商編號");
            insertCommand.Parameters.Add("@藥品名稱", SqlDbType.Char,20, "藥品名稱");
            insertCommand.Parameters.Add("@藥品數量", SqlDbType.Int, 0, "藥品數量");
            insertCommand.Parameters.Add("@藥品單位", SqlDbType.Char,20, "藥品單位");
            insertCommand.Parameters.Add("@進藥單價", SqlDbType.Int, 0, "進藥單價");
            insertCommand.Parameters.Add("@賣藥單價", SqlDbType.Int, 0, "賣藥單價");
            SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();                                           //聲明並實例化SQL數據適配器;
            sqlDataAdapter.InsertCommand = insertCommand;         
            DataTable Table1 = (DataTable)this.dgv.DataSource;                                 
            sqlConnection.Open();                                                                           
            int rowAffected = sqlDataAdapter.Update(Table1);                                         
            sqlConnection.Close();                                                                          //關閉SQL連接;
            MessageBox.Show("增加成功" );
        }

        private void 更改_Click(object sender, EventArgs e)
        {
            SqlConnection sqlConnection = new SqlConnection();                                              //聲明並實例化SQL連接;
            sqlConnection.ConnectionString =
            "Server=(local);Database=藥品工作站管理系統;Integrated Security=sspi";                            
            SqlCommand sqlCommand = new SqlCommand(); 
            sqlCommand.Connection = sqlConnection;   
            SqlCommand updateCommand = new SqlCommand();                                                    
            updateCommand.Connection = sqlConnection;                                                       
            updateCommand.CommandText =                                                                     
                "UPDATE 采購計劃"
                + " SET 采購編號=@new采購編號,制造商編號=@制造商編號,藥品名稱=@藥品名稱,藥品數量=@藥品數量,藥品單位=@藥品單位,進藥單價=@進藥單價,賣藥單價=@賣藥單價"
                + " WHERE 采購編號=@Old采購編號;";
            updateCommand.Parameters.Add("@new采購編號", SqlDbType.Int, 0, "采購編號");                           
            updateCommand.Parameters.Add("@制造商編號", SqlDbType.Int, 0, "制造商編號");
            updateCommand.Parameters.Add("@藥品名稱", SqlDbType.Char, 20, "藥品名稱");
            updateCommand.Parameters.Add("@藥品數量", SqlDbType.Int, 0, "藥品數量");
            updateCommand.Parameters.Add("@藥品單位", SqlDbType.Char, 20, "藥品單位");
            updateCommand.Parameters.Add("@進藥單價", SqlDbType.Int, 0, "進藥單價");
            updateCommand.Parameters.Add("@賣藥單價", SqlDbType.Int, 0, "賣藥單價");                              
            updateCommand.Parameters.Add("@Old采購編號", SqlDbType.Int, 0, "采購編號");
            updateCommand.Parameters["@Old采購編號"].SourceVersion = DataRowVersion.Original;
            SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();                                          
            sqlDataAdapter.UpdateCommand = updateCommand;
            DataTable Table1 = (DataTable)this.dgv.DataSource;                                 
            sqlConnection.Open();                                                                           
            int rowAffected = sqlDataAdapter.Update(Table1);                                         
            sqlConnection.Close();                                                                          
            MessageBox.Show("更改成功");
        }

    

        private void 查詢_Click_1(object sender, EventArgs e)
        {
            SqlConnection sqlConnection = new SqlConnection();                                              //聲明並實例化SQL連接;
            sqlConnection.ConnectionString =
                "Server=(local);Database=藥品工作站管理系統;Integrated Security=sspi";                             //在字符串變量中,描述連接字符串所需的服務器地址、數據庫名稱、集成安全性(即是否使用Windows驗證);
            SqlCommand sqlCommand = new SqlCommand();                                                       //聲明並實例化SQL命令;
            SqlCommand sqlCommand2 = new SqlCommand();                                                      //聲明並實例化SQL命令;
            sqlCommand.Connection = sqlConnection;                                                          //將SQL命令的連接屬性指向SQL連接;
            sqlCommand2.Connection = sqlConnection;                                                         //將SQL命令的連接屬性指向SQL連接;
            sqlCommand.CommandText = "SELECT * FROM 包裝單位;";                                             //指定SQL命令的命令文本;該命令查詢所有班級,以用作下拉框數據源;
            sqlCommand2.CommandText = "SELECT * FROM 采購計劃;";                                          //指定SQL命令的命令文本;該命令查詢所有學生;
            SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();                                           //聲明並實例化SQL數據適配器;
            sqlDataAdapter.SelectCommand = sqlCommand2;                                                      //將SQL數據適配器的查詢命令屬性指向SQL命令;
            DataTable cTable = new DataTable();                                                         //聲明並實例化數據表,用於保存所有班級,以用作下拉框數據源;
            SqlDataAdapter sqlDataAdapter2 = new SqlDataAdapter();                                          //聲明並實例化SQL數據適配器;
            sqlDataAdapter2.SelectCommand = sqlCommand;                                                    //將SQL數據適配器的查詢命令屬性指向SQL命令;
            DataTable dTable = new DataTable();                                                       //聲明並實例化數據表,用於保存所有學生,以用作數據網格視圖的數據源;
            sqlConnection.Open();                                                                           //打開SQL連接;
            sqlDataAdapter.Fill(cTable);                                                                //SQL數據適配器讀取數據,並填充班級數據表;
            sqlDataAdapter2.Fill(dTable);                                                             //SQL數據適配器讀取數據,並填充學生數據表;
            sqlConnection.Close();                                                                          //關閉SQL連接;
            this.dgv.Columns.Clear();                                                                 //數據網格視圖的列集合清空;
            this.dgv.DataSource = cTable;                                                       //將數據網格視圖的數據源設為學生數據表;
            this.dgv.Columns["藥品單位"].Visible = false;

            DataGridViewComboBoxColumn dColumn = new DataGridViewComboBoxColumn();                      //聲明並實例化數據網格視圖下拉框列,用於設置學生的班級;
            dColumn.Name = "單位";                                                                     //設置下拉框列的名稱;
            dColumn.DataSource = dTable;                                                            //設置下拉框列的數據源為班級數據表;
            dColumn.DisplayMember = "單位";                                                             //設置下拉框列的顯示成員為(包裝單位)名稱(列);                                                               //設置下拉框列的值成員為(班級數據表的)編號(列);
            dColumn.DataPropertyName = "藥品單位";
            dColumn.DisplayIndex = 4;                                                                   //設置下拉框列的顯示順序;

            this.dgv.Columns.Add(dColumn);      
        }

        private void 刪除_Click(object sender, EventArgs e)
        {
            SqlConnection sqlConnection = new SqlConnection();                                              //聲明並實例化SQL連接;
            sqlConnection.ConnectionString =
                "Server=(local);Database=藥品工作站管理系統;Integrated Security=sspi";                             //在字符串變量中,描述連接字符串所需的服務器地址、數據庫名稱、集成安全性(即是否使用Windows驗證);
            SqlCommand sqlCommand = new SqlCommand();         //聲明並實例化SQL命令;                                                      //聲明並實例化SQL命令;
            sqlCommand.Connection = sqlConnection;                                                          //將SQL命令的連接屬性指向SQL連接
            SqlCommand deleteCommand = new SqlCommand();                                                    //聲明並實例化SQL命令;該命令用於刪除;
            deleteCommand.Connection = sqlConnection;                                                       //將SQL命令的連接屬性指向SQL連接;
            deleteCommand.CommandText =                                                                     //指定SQL命令的命令文本;
            "DELETE 采購計劃"
                + " WHERE 采購編號=@采購編號;";
            deleteCommand.Parameters.Add("@采購編號", SqlDbType.Int, 0, "采購編號");
             
            foreach (DataGridViewRow r in dgv.SelectedRows)
            {
                if (!r.IsNewRow)
                {
                   dgv.Rows.Remove(r);                }

            }
            SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
            sqlDataAdapter.DeleteCommand = deleteCommand;
            DataTable Table1 = (DataTable)this.dgv.DataSource;                                 //聲明數據表,並指向數據網格視圖的數據源;數據源默認類型為object,還需強制轉換類型;
            sqlConnection.Open();                                                                           //打開SQL連接;
            int rowAffected = sqlDataAdapter.Update(Table1);                                         //SQL數據適配器根據學生數據表提交所有更新,並返回受影響行數;
            sqlConnection.Close();                                                                          //關閉SQL連接;
            MessageBox.Show("刪除成功!");  



        }

        private void 采購計劃_Load(object sender, EventArgs e)
        {

        }
    }
}

運行結果如下圖:

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

學習心得之如何在前端界面操作數據表