文档库 最新最全的文档下载
当前位置:文档库 › datagridview自动保存修改数据

datagridview自动保存修改数据

datagridview自动保存修改数据
datagridview自动保存修改数据

使用到的对象:

1、DataGridView: dataGridView1

2、BindingNavigator: bindingNavigator1(自带添加按钮btnAdd、删除按钮btnDelete)

3、ToolStripButton: btnCancelEdit(添加到bindingNavigator1之中)

使用到的事件:

///

///单元格的值改编后,执行更新、或插入操作;

///

///

///

private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)

{

//如果关键字段"type",说明是在编辑新行的其它字段的值,不需要做如何操作;

string typeTemp = dataGridView1.Rows[e.RowIndex].Cells["type"].FormattedValue.ToString();

if (typeTemp == null || typeTemp.Trim().Length == 0) return;

//

string sqlStr = "select count(*) from Coupler where type='"+

dataGridView1[0, e.RowIndex].FormattedValue.ToString() + "' ";

if (ClsDataBaseOperator.execteCount(sqlStr) < 1)

{

sqlStr = "insert into Coupler(type) values('" +

dataGridView1[0, e.RowIndex].FormattedValue.ToString() + "')";

ClsDataBaseOperator.executeGetLines(sqlStr);

}

else

{

sqlStr = "update Coupler set type='" + dataGridView1[0, e.RowIndex].FormattedValue.ToString() + "', PHS1900=" + dataGridView1.Rows[e.RowIndex].Cells["PHS1900"].FormattedValue.ToString() +

", DCS1800=" + dataGridView1.Rows[e.RowIndex].Cells["DCS1800"].FormattedValue.ToString() +

", GSM900=" + dataGridView1.Rows[e.RowIndex].Cells["GSM900"].FormattedValue.ToString() +

", CDMA800=" + dataGridView1.Rows[e.RowIndex].Cells["CDMA800"].FormattedValue.ToString() +

", other=" + dataGridView1.Rows[e.RowIndex].Cells["other"].FormattedValue.ToString() +

", IsDefault=" + dataGridView1.Rows[e.RowIndex].Cells["IsDefault"].FormattedValue.ToString() +

" where type='" + dataGridView1[0, e.RowIndex].FormattedValue.ToString() + "'";

ClsDataBaseOperator.executeGetLines(sqlStr);

}

}

///

///当有单元格进入编辑状态时,需要打开“撤销编辑”按钮的可点击状态;

///

///

///

private void dataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)

{

this.btnCancelEdit.Enabled = true;

}

///

///删除一条记录,删除表格的的当前行,并更新数据库;

///btnDelete为navigator自带的按钮,需要添加下面事件;

///

///

///

private void btnDelete_Click(object sender, EventArgs e)

{

dataGridView1.Rows.Remove(dataGridView1.CurrentRow);

string sqlStr = "delete from Coupler where type='" +

dataGridView1.CurrentRow.Cells["type"].FormattedValue.ToString() + "' "; }

///

///撤销修改

///

///

///

private void btnEdit_Click(object sender, EventArgs e)

{

dataGridView1.CancelEdit();

dataGridView1.EndEdit();

}

///

///添加新的一行;

///

///

///

private void btnAdd_Click(object sender, EventArgs e)

{

dataGridView1.CurrentRow.Cells["PHS1900"].Value = "0";

dataGridView1.CurrentRow.Cells["DCS1800"].Value = "0";

dataGridView1.CurrentRow.Cells["GSM900"].Value = "0";

dataGridView1.CurrentRow.Cells["CDMA800"].Value = "0";

dataGridView1.CurrentRow.Cells["other"].Value = "0";

dataGridView1.CurrentRow.Cells["type"].Selected = true;

dataGridView1.CurrentCell = dataGridView1.CurrentRow.Cells["type"];

}

微软C#中DataGridView控件使用方法

DataGridView动态添加新行: DataGridView控件在实际应用中非常实用,特别需要表格显示数据时。可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行。假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行的两种方法: 方法一: int index=this.dataGridView1.Rows.Add(); this.dataGridView1.Rows[index].Cells[0].Value = "1"; this.dataGridView1.Rows[index].Cells[1].Value = "2"; this.dataGridView1.Rows[index].Cells[2].Value = "监听"; 利用dataGridView1.Rows.Add()事件为DataGridView控件增加新的行,该函数返回添加新行的索引号,即新行的行号,然后可以通过该索引号操作该行的各个单元格,如dataGridView1.Rows[index].Cells[0].Value = "1"。这是很常用也是很简单的方法。 方法二: DataGridViewRow row = new DataGridViewRow(); DataGridViewTextBoxCell textboxcell = new DataGridViewTextBoxCell(); textboxcell.Value = "aaa"; row.Cells.Add(textboxcell); DataGridViewComboBoxCell comboxcell = new DataGridViewComboBoxCell(); row.Cells.Add(comboxcell); dataGridView1.Rows.Add(row);

DataGridView的用法

在C# WinForm下做过项目的朋友都知道,其中的DataGridView控件默认只支持DataGridViewButtonColumn、DataGridViewCheckBoxColumn、DataGridViewComboBoxColumn、DataGridViewImageColumn、DataGridViewLinkColumn和DataGridViewTextBoxColumn六种列类型,如果你想要在DataGridView的列中添加其它的子控件,则需要自己实现DataGridViewColumn和DataGridViewCell,这就意味着你需要从现有的列中继承并改写一些方法,如实现一个支持单选按钮的列,或支持三种选择状态的多选按钮的列。 上面两个截图分别为RadioButton列和支持三种状态的CheckBox列在DataGridView中的实现效果,我是在Windows 2003中实现的,因此显示的效果跟在XP和Vista下有些区别,Vista下CheckBox的第三种状态(不确定状态)显示出来的效果是一个实心的蓝色方块。 下面我看具体来看看如何实现这两种效果。 要实现自定义的DataGridView列,你需要继承并改写两个类,一个是基于DataGridViewColumn的,一个是基于DataGridViewCell的,因为

RadionButton和CheckBox的实现原理类似,因此我们可以将这两种列采用同一种方法实现。创建DataGridViewDisableCheckBoxCell和DataGridViewDisableCheckBoxColumn两个类,分别继承自DataGridViewCheckBoxCell和DataGridViewCheckBoxColumn。代码如下: public class DataGridViewDisableCheckBoxCell: DataGridViewCheckBoxCell { public bool Enabled { get; set; } // Override the Clone method so that the Enabled property is copied. public override object Clone() { DataGridViewDisableCheckBoxCell cell = (DataGridViewDisableCheckBoxCell)base.Clone(); cell.Enabled = this.Enabled; return cell; } // By default, enable the CheckBox cell. public DataGridViewDisableCheckBoxCell() { this.Enabled = true; } // Three state checkbox column cell protected override void Paint(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, int rowIndex, DataGridViewElementStates elementState, object value, object formattedValue, string errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts) { // The checkBox cell is disabled, so paint the border, background, and disabled checkBox for the cell. if (!this.Enabled) { // Draw the cell background, if specified. if ((paintParts & DataGridViewPaintParts.Background) == DataGridViewPaintParts.Background) { SolidBrush cellBackground = new SolidBrush(cellStyle.BackColor); graphics.FillRectangle(cellBackground,

数据库增删改查

02.连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 03.创建数据库:create database [库名] 04.显示所有数据库: show databases; 05.打开数据库:use [库名] 06.当前选择的库状态:SELECT DATABASE(); 07.创建数据表:CREATE TABLE [表名]([字段名] [字段类型]([字段要求]) [字段参数], ......); 08.显示数据表字段:describe 表名; 09.当前库数据表结构:show tables; 10.更改表格 11. ALTER TABLE [表名] ADD COLUMN [字段名] DATATYPE 12. 说明:增加一个栏位(没有删除某个栏位的语法。 13. ALTER TABLE [表名] ADD PRIMARY KEY ([字段名]) 14. 说明:更改表得的定义把某个栏位设为主键。 15. ALTER TABLE [表名] DROP PRIMARY KEY ([字段名]) 16. 说明:把主键的定义删除。 17.显示当前表字段:show columns from tablename; 18.删库:drop database [库名]; 19.删表:drop table [表名]; 20.数据操作 21.添加:INSERT INTO [表名] VALUES('','',......顺序排列的数据); 22.查询: SELECT * FROM [表名] WHERE ([条件]); 23.建立索引:CREATE INDEX [索引文件名] ON [表名] ([字段名]); 24.删除:DELETE FROM [表名] WHERE ([条件]); 25.修改:UPDATE [表名] SET [修改内容如name = 'Mary'] WHERE [条件]; 26. 27.导入外部数据文本: 28.1.执行外部的sql脚本 29.当前数据库上执行:mysql < input.sql 30.指定数据库上执行:mysql [表名] < input.sql 31.2.数据传入命令load data local infile "[文件名]" into table [表名]; 32.备份数据库:(dos下) 33.mysqldump --opt school>school.bbb 34. 35. 36. 37.提示:常用MySQL命令以";"结束,有少量特殊命令不能加";"结束,如备份数据库 38.一. 增删改查操作 39. 40.============================================================================ ===== 41.1. 增: 42.insert into 表名values(0,'测试'); 43.注:如上语句,表结构中有自动增长的列,也必须为其指定一个值,通常为0 44.insert into 表名(id,name) values(0,'尹当')--同上

DataGridView控件用法合集

DataGridView控件用法合集 目录 DataGridView控件用法合集(一) 1. DataGridView当前的单元格属性取得、变更 2. DataGridView编辑属性 3. DataGridView最下面一列新追加行非表示 4. DataGridView判断当前选中行是否为新追加的行 5. DataGridView删除行可否设定 6. DataGridView行列不表示和删除 DataGridView控件用法合集(二) 7. DataGridView行列宽度高度设置为不能编辑 8. DataGridView行高列幅自动调整 9. DataGridView指定行列冻结 10. DataGridView列顺序变更可否设定 11. DataGridView行复数选择 12. DataGridView选择的行、列、单元格取得 DataGridView控件用法合集(三) 13. DataGridView指定单元格是否表示 14. DataGridView表头部单元格取得 15. DataGridView表头部单元格文字列设定 16. DataGridView选择的部分拷贝至剪贴板 17.DataGridView粘贴 18. DataGridView单元格上ToolTip表示设定(鼠标移动到相应单元格上时,弹出说明信息) DataGridView控件用法合集(四) 19. DataGridView中的ContextMenuStrip属性 20. DataGridView指定滚动框位置 21. DataGridView手动追加列 22. DataGridView全体分界线样式设置 23. DataGridView根据单元格属性更改显示内容 24. DataGridView新追加行的行高样式设置る 25. DataGridView新追加行单元格默认值设置 DataGridView中输入错误数据的处理(五) 26. DataGridView单元格数据错误标签表示 27. DataGridView单元格内输入值正确性判断 28. DataGridView单元格输入错误值事件的捕获 DataGridView控件用法合集(六) 29. DataGridView行排序(点击列表头自动排序的设置) 30. DataGridView自动行排序(新追加值也会自动排序) 31. DataGridView自动行排序禁止情况下的排序 32. DataGridView指定列指定排序 DataGridView控件用法合集(七) 33. DataGridView单元格样式设置 34. DataGridView文字表示位置的设定 35. DataGridView单元格内文字列换行 36. DataGridView单元格DBNull值表示的设定 37. DataGridView单元格样式格式化 38. DataGridView指定单元格颜色设定

dataGridView

dataGridView已绑定表Score,显示ID和Score两个字段的值 我想获取dataGridView显示的Score字段的值(共10个记录)赋给10元素double类型数组array中,我用的代码是 for (i = 0; i < dataGridView1.Rows.Count ;i++ ) { array[i] = (double )dataGridView1.Rows[i].Cells[1].Value ; } 为啥提示强制转换无效,值必须是一个小于无限大的数呢? 应该怎样写代码? 问题补充: MSDN上的代码也看过,网上也搜过代码,基本上都是用引用dataGridView1.Rows[行号].Cells[列号].Value ,为啥转换成double就不行了.... 用array[i] = (double )dataGridView1.Rows[i].Cells[2].Value.ToString ()后又说无法将string 转换为double = = 如果去掉double强制转换又提示无法将string隐式转换为double,因为array数组是double 类型的所以应该还是要转换一下吧! 这个在MSDN上有代码示例,我就不献丑了。 你打开MSDN一看就知道了。。。 回答者:44498 - 五级2009-5-17 14:29 类型转换错误。 .ToString()后再转换! 回答者:新大软院- 六级2009-5-17 14:52 应该是转换类型有错误你把那个前面的转换类型的去掉试试 回答者:caoguangab - 四级2009-5-17 15:03 LZ试一下 array[i] = double.Parse(dataGridView1.Rows[i].Cells[2].Value.ToString ()) 不知道行不行 回答者:jdk242 - 四级2009-5-17 15:45 array[i] = dataGridView1.Rows[i].Cells[1].Value as double; 不行的话 array[i] = dataGridView1.Rows[i].Cells[1].Value.ToString() as double; 回答者:零度吹风- 四级2009-5-18 13:53

datagridview在vbnet中的操作技巧.

DataGridView在https://www.wendangku.net/doc/c69975676.html,中的操作技巧目录: 1、取得或者修改当前单元格的内容 2、设定单元格只读 3、不显示最下面的新行 4、判断新增行 5、行的用户删除操作的自定义 6、行、列的隐藏和删除 7、禁止列或者行的Resize 8、列宽和行高以及列头的高度和行头的宽度的自动调整 9、冻结列或行 10、列顺序的调整 11、行头列头的单元格 12、剪切板的操作 13、单元格的ToolTip的设置 14、右键菜单(ContextMenuStrip的设置 15、单元格的边框、网格线样式的设定 16、单元格表示值的设定 17、用户输入时,单元格输入值的设定 18、设定新加行的默认值

1、DataGridView 取得或者修改当前单元格的内容: 当前单元格指的是DataGridView 焦点所在的单元格,它可以通过DataGridView 对象的CurrentCell 属性取得。如果当前单元格不存在的时候,返回Nothing(C#是null [https://www.wendangku.net/doc/c69975676.html,] ' 取得当前单元格内容MessageBox.Show(DataGridView1.CurrentCell.Value ' 取得当前单元格的列Index MessageBox.Show(DataGridView1.CurrentCell.ColumnIndex ' 取得当前单元格的行Index MessageBox.Show(DataGridView1.CurrentCell.RowIndex 另外,使用DataGridView.CurrentCellAddress 属性(而不是直接访问单元格来确定单元格所在的行:DataGridView.CurrentCellAddress.Y 和 列:DataGridView.CurrentCellAddress.X 。这对于避免取消共享行的共享非常有用。 当前的单元格可以通过设定DataGridView 对象的CurrentCell 来改变。可以通过CurrentCell 来设定 DataGridView 的激活单元格。将CurrentCell 设为Nothing(null 可以取消激活的单元格。[https://www.wendangku.net/doc/c69975676.html,] ' 设定(0, 0 为当前单元格 DataGridView1.CurrentCell = DataGridView1(0, 0 -------------------------------------------------------------------------------- 2、DataGridView 设定单元格只读:

关于报告及数据库的修改和

关于报告及数据库的修改和 项目下一步实施的意见 目前部要求的矿种报告和库都已初步完成,要求汇总的单矿种也已完成。但由于各种原因不论是报告、库还是汇总的成果,经初步检查都存在不少的问题。前一段项目工作处于赶进度,求结论的状态;那么,下一步应该是严检查,保完整。逐报告、逐库严格、仔细按技术要求进行逐项检查,确保每份报告和库都能通过部组织的审查验收。 下一步的项目的工作任务可分为三大部分 一、报告和库的修改完善 二、单矿种汇总结果的修改完善 三、项目总报告等研究报告的编写 关于第一部分 首先要做的事情是对核查区的全面清理。由评审中心根据省级审查验收情况,按矿种编制核查报告一览表。其栏目应包括核查报告名称、核查区名称、核查区编号、报告修改完成情况、数据库修改完成情况、可供部审查情况等。同时要整理储量表矿区被合并情况一览表。要通过这两个表,说明核查区对上表矿区的覆盖情况。 核查报告一览表应存放在利用调查邮箱中,评审中心应将完成修改可定稿的报告信息及时反映在表中,信息中心要对定稿报

告的数据库及时进行检查。因此,此表即可作为两家工作衔接的纽带;也可反映整个修改完善工作的进度。应尽快完成投入使用。 关于报告内容的修改完善 1、报告的检查首先是查资源储量数据是否正确,判别的标准首先是和该报告的审批量进行对比,其次是和储量表对比。也就是说,如果核查库中核查前的累积查明量和审批量总量几乎没有差别且两者的估算范围一致时,可以认为该报告累积查明量是可信的。如果开采情况的资料充分有依据,那么也可认为该报告的保有量是可信的。对核查报告提交资源储量的检查应该是报告检查的核心内容。因此,要求将报告的审批文件扫描后存放在属性库中的“JPG栅格图”文件夹中。这也是部示范性验收时所强调的。 2、关于未上表报告的检查。首先要查本次提交的资源储量与已上表报告提交量的关系和变化情况在报告中是否陈述清楚。要明确储量表上的是报告的什么量。对比是指本次核查和上表报告资源储量估算范围相同部分的变化情况。对核查报告估算了,而储量表没上表的资源储量,本次核查应反映为新增量。 3、关于库中采矿证信息的完整、规范性。经检查核查库有关采证的信息数据多有不完整、规范的现象。采矿权人名称、矿山企业名称等在3-4表中多反映为简称;设计开采规模没填;甚至有的没有采证范围坐标数据。这些都是不允许的。所有关于采证的信息必须完整、规范。保持和原件内容完全一致。不能有别字,

datagridview 数据处理方法 修改 删除 添加 下拉类表

Datagridview的三种处理数据方法 一、第一种方法 常规方法,在窗口界面上放入一个datagridview,在放各个textbox,然后通过选取对应的记录,修改textbox的值,所有的操作都在一个界面上进行,没什么多说的,大部分方法都这么做 二、弹出窗口方式 此方式,通过双击记录,或者是利用按钮操作,倾向于用按钮方式,一次修改或添加、删除一条记录。利用窗口传值方式,实现数据输入、输出,datagridview的显示跟新。 特点: 1。父子窗口之间的双向传值,很有参考意义 2.父子窗体监combox绑定数据表条件下,双向传值,很多资料接收的都不是很清晰, 主要是利用了combox.findstring()这个方法,传递回index,利用index得到value,好绕啊,废了很大劲。 3.datagridview修改、添加数据下,不用重新访问数据库,而是直接显示修改的结果, 这样感觉反应速度快,很有意义。 具体如下 修改界面

添加界面 主窗口代码 using System; using System.Collections.Generic; using https://www.wendangku.net/doc/c69975676.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using https://www.wendangku.net/doc/c69975676.html,monClass; namespace WDZ { public partial class frmMain2 : Form { public frmMain2() { InitializeComponent(); } private void frmMain2_Load(object sender, EventArgs e) { this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; //表格自适应宽度 //DataCon datacon = new DataCon(); //加载数据 DataOperate dataoperate = new DataOperate();

SQL数据库中的增删改查总结1

SQL数据库中的增删改查总结1 SQL数据库中的增删改查总结1 一、增:有2种方法 1.使用insert插入单行数据: 语法:insert[into] 表名 [列名]values 列 例:insertintoStrdents(姓名,性别,出生日期)values(“邢金聪”,”男”,”1990/6/15”) 注意:如果省略表名,将依次插入所有列 2.使用insert,select语句将现有表中的数据添加到已有的新表中 语法:insertinto 已有的新表列名 select 原表列名 from 原表名 例:insertintoaddressList(“姓名”,”地址”,”电子邮 件”)selectname,address,email fromStrdents 注意:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致 二、删:有2中方法 1.使用delete删除数据某些数据 语法:deletefrom 表名 [where 删除条件 ] 例:deletefromawherename=“邢金聪”(删除表a中列为邢金聪的行)注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名 2.使用truncatetable删除整个表的数据 语法:truncatetable 表名

例:truncatetableaddressList 注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能用于有外建约束引用的表 三、改 使用update更新修改数据 语法:update 表名 set 列名=更新 [where 更新条件 ] 例:truncatetableaddressList 注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能用于有外建约束引用的表 四、查 1.普通查询 语法:select 列名 from 表名 [where 查询条件表达试 ][orderby 排序的列名 [asc或desc]] 1).查询所有数据行和列 例:select*froma 说明:查询a表中所有行和 2).查询部分行列--条件查询 例:selecti,j,kfromawheref=5 说明:查询表a中f=5的所有行,并显示i,j,k3列 3).在查询中使用AS更改列名 例:selectnameas姓名fromawheregender=“男”

DataGridView实现数据的快速输入

C#利用DataGridView实现数据的快速输入 网络编程2008-03-11 16:04:03 阅读313 评论0 字号:大中小订阅 在做管理软件时,常常需要表格输入功能。表格输入极大地加快了数据输入,提高了工作效率,当然也提高了软件的竞争性。笔者最近用C#在做一套CRM时,成功地使用C# 2005里面的表格控件DataGridView 实现了表格输入功能,现在就把具体实现与各位分享: 1. 初始化工作 (1) 在Vs 2005 里面新建一个C# WinForm 应用程序:DataGridViewTest (2) 在窗体Form1上拖一个DataGridView控件:DataGridView1 (3) 在DataGridView1里添加两个列: Column1: 类型:DataGridViewComboBoxColumn HeaderText:时间 DataPropertyName:DutyTime Column2: 类型:DataGridViewTextBoxColumn HeaderText:时间 DataPropertyName:DutyTime (4)在Form1类中添加两个私有属性: private DataTable m_Table;//输入组合框控件的下拉数据 private DataTable m_DataTable;//与表格绑定的DataTable,即用户输入的最终数据 (5)在Form1类里面定义一个结构体 public struct MyRowData { public MyRowData(int no, string enDay, string cnDay) { No = no; EnDay = enDay; CnDay = cnDay; } public int No; public string EnDay; public string CnDay; } (6) 在Form1的load事件Form1_Load(object sender, EventArgs e) 加上以下初始化代码: this.dataGridView1.AllowUserToAddRows = true; this.dataGridView1.AllowUserToDeleteRows = true; this.dataGridView1.AutoGenerateColumns = false;

SQL数据库操作步骤及代码

第2章数据库高级编程 是为.NET框架而创建的,是对ADO(ActiveX Data Objects)对象模型的扩充。提供了一组数据访问服务的类,可用于对Microsoft SQL Server、Oracle等数据源的一致访问。模型分为.NET Data Provider(数据提供程序)和DataSet数据集(数据处理的核心)两大主要部分。 .NET数据提供程序提供了四个核心对象,分别是Connection、Command、DataReader 和DataAdapter对象。功能如表2-1所示。 表2-1 核心对象 SQL Server相关配置 在使用C#访问数据库之前,首先创建一个名为“chap2”的数据库,此数据库作为节及节中例题操作的默认数据库。然后创建数据表Products,表结构如表2-2所示。创建完毕后可录入初始化数据若干条。 表2-2 Products表表结构 机课的操作中出现问题较多的地方。 1.身份验证方式 SQL Server 2012在安装时默认是使用Windows验证方式的,但是安装过后用户可随时修改身份验证方式。 启动SQL Server 2012 Management Studio,在“连接到服务器”对话框中选择“Windows

身份验证”连接服务器,连接成功后,在窗体左侧的“对象资源管理器”中右键单击服务器实例节点,并在弹出的快捷菜单中选择“属性”菜单项,系统将弹出“服务器属性”窗体,切换至“安全性”选项卡,如图2-1所示。 图2-1 “服务器属性”对话框-“安全性”选项卡 在“服务器身份验证”部分选择“SQL Server和Windows身份验证模式”选项,并单击【确定】按钮。系统将提示需要重新启动SQL Server以使配置生效,如图2-2所示。 图2-2 系统提示框 右键单击“对象资源管理器”的服务器实例节点,在弹出的快捷菜单中选择“重新启动”菜单项,SQL Server将重新启动服务,重启成功后即可使用混合验证方式登录SQL Server 服务器。 2.添加登录账户 大部分初学者都习惯于使用SQL Server的系统管理员账号“sa”来登录数据库服务器,而在实际工作环境中使用sa账号登录服务器是不合理的。因为很多情况下系统的数据库是部署在租用的数据库服务器上的,此时数据库设计人员或编程人员都不可能具有sa账号的使用权限,因此在将身份验证方式修改为SQL Server和Windows混合验证后,需要为某应用程序创建一个专用的登录账户。其操作步骤描述如下。 (1)使用Windows身份验证登录SQL Server,在对象资源管理器中点击“安全性”节点前面的加号“+”,在展开后的“登录名”子节点上单击右键,如图2-3所示,并在弹出的快捷菜单中选择“新建登录名”选项。

C#用DataGridview 做的表格效果

C#用DataGridview 做的表格效果 private void Form1_Load(object sender, EventArgs e) { DataGridViewComboBoxColumn boxc = new DataGridViewComboBoxColumn();//创建下拉框 boxc.HeaderText = "国家";//设定标题头 boxc.Items.Add("China");//设定下拉框内容 boxc.Items.Add("England"); boxc.Items.Add("U.S.A"); boxc.Items.Add("Japan"); this.dataGridView1.Columns.Add(boxc);//将下拉框添加到datagridview中 DataGridViewTextBoxColumn textc = new DataGridViewTextBoxColumn();//创建文本框字段 textc.HeaderText = "公司"; this.dataGridView1.Columns.Add(textc); textc = new DataGridViewTextBoxColumn(); textc.HeaderText = "描述"; this.dataGridView1.Columns.Add(textc); DataGridViewButtonColumn butc = new DataGridViewButtonColumn();//创建按钮字段 butc.HeaderText = "设置"; butc.Text = "设置"; butc.DefaultCellStyle.ForeColor = Color.Black; butc.DefaultCellStyle.BackColor = Color.FromKnownColor(KnownColor.ButtonFace); butc.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; butc.Width = 150; https://www.wendangku.net/doc/c69975676.html,eColumnTextForButtonValue = true;//如果为false,则不显示button上的text this.dataGridView1.Columns.Add(butc); butc = new DataGridViewButtonColumn(); butc.HeaderText = "删除"; butc.Text = "删除"; butc.DefaultCellStyle.ForeColor = Color.Black; butc.DefaultCellStyle.BackColor = Color.FromKnownColor(KnownColor.ButtonFace); butc.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; butc.Width = 150;

数据库 查询 修改 删除 增加 排序 等命令

数据库查询修改删除增加排序等命令 insert into Register values('张三') //添加语句 select*from Register //查询语句查询整个表 delete from Register where Loadname='张三' //删除Register 表中的Loadname字段=‘张三’的行信息 select*from UserLoad order by id desc/*利用ID进行排序desc降序排序将UserLoad中的所有id都进行排序 select*from UserLoad order by id asc利用ID进行排序asc 升序排序 alter table UserLoad drop column Text 删除Userload表中 Text字段这列 select count(*)from Register where sex='男' 查找Register 表中sex=‘男’的所有人数 select BrithDay,Phone from Register where Loadname='张三' 在Register表中查询Loadname='张三'的BrithDay和Phone update UserLoad set Text='11111'where id='1' 修改UserLoad表中ID=’1’的Text文本内容 select Passworld from Register where Loadname='张三' 在Register表中查找Loadname=张三的密码 id int identity(1,1)//使ID值由1自动增加1 当字段的长度大于5个字符在其后加.... select case when len(FCatalog)>5 then LEFT(FCatalog,5)+'.....' else FCatalog end from Fiction 多表查询

DataGridView中的数据在文本中显示

DataGridView中的数据在文本中显示 作者:逆命之心 实现汽车信息的查询和编辑,可根据输入的查询条件进行查询,也可以仅输入部分条件。单击“汽车基本信息”中的汽车信息,将在“汽车详细信息”中显示汽车的详细信息 1.在数据库中建一个表CaressInfo createtable CarsInfo ( CarId intprimarykeyidentity(1,1), Brand varchar(50)notnull,--品牌 Typevarchar(50)notnull,--型号 Dischaarge numeric(18,1)notnull,--排量 GearBox varchar(50)notnull check(GearBox='手动'or GearBox='自动'or GearBox='手自一体'),--变速箱 oilUse numeric(18,1)notnull,--理论耗油 Frice int notnull--报价 ) 2.创建窗体 变速箱里的内容为:不限,自动,手动,手自一体 3.代码

//DataSet实例化,声明SqlDataAdapter类型的dsa DataSet da = new DataSet(); SqlDataAdapter dsa; //声明Select方法用于查询 publicvoid Select() { this.da.Clear(); //品牌文本框(txtBrand),排量文本框(txtDischaarge),变速箱文本框(cmbGearBox) string str = this.txtBrand.Text.Trim(); string str1=this.txtDischaarge.Text.Trim(); string str2 = this.cmbGearBox.Text.Trim(); //判断各种查询条件 if (!str.Equals("") && !str1.Equals("") && !str2.Equals("")) { string Sql = "select Brand,Type,Dischaarge,GearBox,Frice from CarsInfo where Brand='" + str + "' and Dischaarge='" + str1 + "' and GearBox='" + str2 + "'"; dsa = new SqlDataAdapter(Sql, Dbhpler.con); dsa.Fill(da, "CarsInfo"); this.dgv.DataSource = da.Tables["CarsInfo"]; } if (!str.Equals("") && str1.Equals("") && str2.Equals("")) { string Sql = "select Brand,Type,Dischaarge,GearBox,Frice from CarsInfo where Brand='" + str + "' "; dsa = new SqlDataAdapter(Sql, Dbhpler.con); dsa.Fill(da, "CarsInfo"); this.dgv.DataSource = da.Tables["CarsInfo"]; } if (str.Equals("") && !str1.Equals("") && str2.Equals("")) { string Sql = "select Brand,Type,Dischaarge,GearBox,Frice from CarsInfo where Dischaarge='" + str1 + "'"; dsa = new SqlDataAdapter(Sql, Dbhpler.con); dsa.Fill(da, "CarsInfo"); this.dgv.DataSource = da.Tables["CarsInfo"]; } if (str.Equals("") && str1.Equals("") && !str2.Equals("")) { string Sql = "select Brand,Type,Dischaarge,GearBox,Frice from CarsInfo where GearBox='" + str2 + "'"; dsa = new SqlDataAdapter(Sql, Dbhpler.con); dsa.Fill(da, "CarsInfo");

数据库实验报告一创建数据库和表,表数据插入、修改和删除_毕业论文

XI`AN TECHNOLOGICAL UNIVERSITY 实验报告

西安工业大学实验报告 一、实验目的 (1)了解SQL Server数据库的逻辑结构和物理结构。 (2)了解表的结构特点。 (3)了解SQL Server的基本数据类型。 (4)了解空值概念。 (5)学会在对象资源管理器中创建数据库和表。 (6)学会使用T-SQL语句创建数据库和表。 (7)学会在对象资源管理器中对数据库表进行插入、修改和删除数据操作。 (8)学会使用T-SQL语句对数据库表进行插入、修改和删除数据操作。 (9)了解数据更新操作时要注意数据完整性。 二、实验内容 (1)创建一个数据库 数据库YGGL的逻辑文件初始大小为10MB,最大大小为50MB,数据库自动增长,增长方式是按5%比例增长。日志文件初始为2MB,最大可增长到5MB,按1MB增长。 数据库的逻辑文件名和物理文件名均采用默认值。事物日志的逻辑文件和物理文件名也均采用默认值。要求分别使用对象资源管理器和T-SQL命令完成数据库的创建工作。 (2)在创建好的员工管理数据库(YGGL)中创建数据表 考虑到员工管理数据库YGGL要求包括员工的信息、部门信息以及员工的薪水信息,所以数据库YGGL应包含三个表Employees(员工自然信息)表、Departments(部门信息)表和Salary (员工薪水情况)表。 (3)分别使用对象资源管理器和T-SQL语句,向在实验2中建立的数据库YGGL的3个表Employees、Departments和Salary中插入多行数据记录,然后修改和删除一些记录。使用T-SQL语句进行有限制的修改和删除。 三、实验步骤、数据记录及处理 1界面方式创建数据库 (1)创建数据库 使用系统管理员用户以Window身份验证方式登陆SQL Server服务器,在“对象资源管理器”选择“数据库”节点,右键单击鼠标,打开“新建数据库”窗口,在“新建数据库”窗口的“常规”选项中输入数据库名“YGGL”,“所有者”为默认值。在下方的列表栏中,分别设置“数据文件”和“日志文件”的增长方式和增长比例,设置完成后单击“确定”完成数据库的创建。操作结果如下图所示:

NET新手指南:轻松自定义DataGridView控件

.NET新手指南:轻松自定义DataGridView控件 .NET DataGridView是一个便于使用的数据绑定控件。本文为.NET新手介绍了如何使用.NET配置向导VB Express自定义DataGridView控件。只需非常简单的修改以及一两行代码,便可以轻松实现交替颜色行,自定义排序功能以及显示编辑行。这样一个既可以浏览数据又可以编辑数据的窗体非常实用。 本文的目标读者是.NET新手。首先讲述如何创建一个新连接,然后讲述如何自定义结果控件,使用Visual Basic Express(VB Express)配置向导,本文将描述如何填充DataGridView控件,然后按照以下步骤进行提高: 1、行的显示颜色交替,构成一个绿色条效果; 2、禁用掉DataGridView内置的单列排序功能; 3、执行这个窗体时显示编辑行。 开始 VB Express提供了许多方法检索和操作外部数据,例如,只需要运行VB Express的配置向导就可以建立一个到MS Access 示例数据库Northwind.mdb中Customers的连接: 1、启动VB Express,然后在标准工具栏上点击新建项目按钮,在弹出的对话框中选择Windows Form Application; 2、在名称控件处输入一个有意义的名字,点击确定按钮; 3、点击解决方案资源管理器右下角的数据源标签,如果没有看到这个标签,从“数据”菜单中选择显示数据源即可; 4、点击新建数据源按钮,启动新建数据源配置向导; 5、点击下一步,数据库选项保持默认设置; 6、在下一个面板中点击新建连接; 7、在弹出的新建连接对话框中,点击修改,从弹出的修改数据源对话框中选择Access数据库文件,然后点击确定按钮; 8、在新建连接对话框中点击浏览,找到Northwind.mdb的位置(在Office目录的Samples文件夹下),然后点击确定按钮; 9、点击测试连接,然后点击确定按钮清除确认消息; 10、如果连接工作正常,点击确定返回向导窗口,然后点击下一步继续;

相关文档
相关文档 最新文档