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

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

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 采购编号[email protected]采购编号,制造商编号[email protected]制造商编号,药品名称[email protected]药品名称,药品数量[email protected]药品数量,药品单位[email protected]药品单位,进药单价[email protected]进药单价,卖药单价[email protected]卖药单价"
                + " WHERE 采购编号[email protected]采购编号;";
            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 采购编号[email protected]采购编号;";
            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)
        {

        }
    }
}

运行结果如下图:

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

时间: 2024-10-09 07:02:39

学习心得之如何在前端界面操作数据表的相关文章

在前端界面操作数据表

本周学习了在前端界面操作数据表. 一.思维导图 二.知识点描述 前端和后端之所以需要对接,是因为前端页面只负责提供视图没有内容,而后端只提供内容,两者所谓的对接,就是把后端的内容放在前端页面预留出来的位置上. 都是使用DataGridView控件 调用SQL命令的方法ExecuteNonQuery来执行命令,向数据库写入数据,并返回受影响行数: 捕捉SQL异常:若SQL异常编号为2627,则违反主键/唯一约束,即插入重复值: 存储过程调用SQL连接的方法CreateCommand来创建SQL命令

前端界面操作数据表(知识点描述,思维导图,示例代码,效果截图)

前端界面操作数据表,主要是是指对SQL数据表进行增删改查操作. 操作平台:C#2008+SQL 一.思维导图: 二.知识点介绍 1.利用前端界面对数据库进行操作,最关键的一点就是实现前端界面与数据库的连接. 数据库的连接可以通过设置,也可以直接用代码连接.我们建议用代码连接.代码连接的话,是指连接字符串.如下为连接字符串的示例代码:(以windows登录为例子) SqlConnection sqlConnection = new SqlConnection(); //声明并实例化SQL连接: s

小小六的前端学习心得

打算写这篇文章已经好久了,但是文采不行,不知道如何下笔,今天终于鼓起勇气用我拙劣的作文水平来讲述一下这段时间我学习前端开发的心得. 先从我的专业说起.我本人是学计算机的.全名是叫计算机科学与技术(软件方向),学校虽然是一个211学校,学习成绩也还行,但是对于编程这一块,真的是很弱很弱.所以我对计算机编程真正的学习是从实习这段时间开始的.说到这里,我必须得感谢带我进入前端的学长.因为他我才能在今天坐在这里写这篇学习心得. 所以,首先最好是有一个愿意耐心的指导你学习的人,也就是一个好的师傅.他能根据

Web前端培训学习心得

web前端工程师技术日趋成熟,越来越多的行业巨头正不断向web前端工程师示好,在未来几年,web前端将会以更多的形式渗透到我们生活中的方方面面,因此越来越多的从业者开始关注web前端开发行业,今天小编跟大家共同来分享一下自己的web前端工程师学习心得. 今天只是想要跟大家分享一下学习心得,在选择web前端工程师培训之前,我逃避过.犹豫过.迷茫过,站在人生的十字路口,不知道该何去何从,但从加入培训班的那刻起,就把心中的疑问打消了,看到大家倾吐自己的心声,我开始认识到每个人都渴望成功,更希望能够战胜

SVG学习心得

在前端开发的过程中,为了界面的美观,会用到很多好看但无法纯利用HTML和CSS实现的图形(对于大佬们这就不算事了,但对于我这个刚入行的后生就难了),如下面的几个图形,如果不用美工妹妹的PS图片,我个人觉得是比较难实现的: 以上的图形利用纯HTML和CSS是比较难实现的,幸好前段时间刚好看到有篇关于SVG的实例讲解,学习了一下SVG,下面是我的学习心得(这是我第一次写博客,写的不好多多见谅) 1.什么是SVG?(这里引用w3school的定义) SVG 指可伸缩矢量图形 (Scalable Vec

fullpage 插件学习心得

fullpage.js 是一个基于jquery 的插件,它能够轻松的制作出高大上的全屏网站,主要功能有; 1.支持鼠标滚动 2.支持前进后退和键盘控制 3.多个回调函数 4.支持 CSS3 动画 5.可设置滚动宽度.背景颜色.滚动速度.循环选项.回调.文本对齐方式等等. 实现的原理: 1. 窗口大小变化时,改变布局. 2. 鼠标wheel时,滚动. 3. jQuery Easing是在jQuery原有的动画效果上进行了扩展,所以使用时可以根据jQuery原有的动画函数进行扩展,使动画看起来更流畅

windows类书的学习心得(转载)

原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千,很多陌生的出版社,很多陌生的作者,很多陌生的译者,书名也是越来越夸张,什么××天精通××,精通××编程, ××宝典等等,书的印刷质量真的很好,纸张的质量也是今非昔比啊,但书的内容好象却是越来越让人失望,也许是我老了,我的思想我的观念已脱离现实社会,也许是外面的世界变化得太快,我编程数月,出去一走,

学习心得——测试框架浅析

笔者按:       在这一学期的软件测试课程学习中,我逐渐接触到了软件测试的相关知识,实现了从较为关注软件编写与实现等前端内容到逐渐理解软件测试等项目后期环节的跨 越与 转变.而在软件测试领域,我们经常会听到测试框架这个名词,那什么是测试框架?它在软件测试中起到什么样的作用?我将就自己浅薄的学习心得,在这里为大 家做一个简单的分析与交流. 正文:          我们先来看一下百度百科给出的关于“框架”一词的定义:“框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问

菜鸟也想学WPF—XAML 学习心得

只要打开VS->新建项目,然后选择WPF Application就ok.进入界面可以,你直接运行F5运行界面.就可以看到一个窗体了.简单吧.咱们进一步来看看右边关于solution Explorer的里面的东西.这里面包含了关于咱们新建项目的一些基本的文件.但是具体是个什么东西呢?如下图. 菜鸟也想学WPF-XAML 学习心得,布布扣,bubuko.com