码迷,mamicode.com
首页 > 其他好文 > 详细

学习心得之如何在前端界面操作数据表

时间:2018-10-24 22:29:55      阅读:299      评论:0      收藏:0      [点我收藏+]

标签:声明   删除   学习心得   mode   command   name   linq   jpg   连接   

如何在前端界面操作数据表

 技术分享图片

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)
        {

        }
    }
}

运行结果如下图:

技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

学习心得之如何在前端界面操作数据表

标签:声明   删除   学习心得   mode   command   name   linq   jpg   连接   

原文地址:https://www.cnblogs.com/jiangfan123/p/9845918.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!