DataGridView控件添加数据时空白的可 错误情况
写一个小程序,将数据库中的两张表相关信息显示在DataGridView中。代码如下:
//获取项目数据,添加到表中
SqlConnection con = new SqlConnection(MainForm2.connection);
con.Open();
string cmd1 = string.Format(@"Select * from ProjectInfo where ProjectName='{0}'", pjnm);
string cmd2 = string.Format(@"Select * from ParameterInfo where ProjectName='{0}'", pjnm);
//添加基本信息表
SqlCommand cmd = new SqlCommand(cmd1,con);
SqlDataReader reader = cmd.ExecuteReader();
reader.Read();
for (int i = ; i < reader.FieldCount; i++)
{
this.dataGridViewX1.Rows.Add();
this.dataGridViewX1[, i].Value = reader.GetName(i);
if (reader.GetValue(i) == null)
{
this.dataGridViewX1[, i].Value = "未输入";
}
else
{
this.dataGridViewX1[, i].Value = reader.GetValue(i).ToString();
}
} int fcount = reader.FieldCount;
reader.Close(); //添加参数信息
SqlCommand cmdd = new SqlCommand(cmd2, con);
reader = cmdd.ExecuteReader();
reader.Read(); for (int i = ; i < reader.FieldCount; i++)
{
this.dataGridViewX1.Rows.Add();
string str = ParameterInfoCls.standardName(i);
this.dataGridViewX1[, fcount + i].Value = str;
if (reader.GetValue(i) == null || reader.GetValue(i).ToString() == "")
{
this.dataGridViewX1[, fcount + i].Value = "未输入";
}
else
{
this.dataGridViewX1[, fcount + i].Value = reader.GetValue(i).ToString();
}
}
reader.Close(); con.Close();
运行后一直出现空白。如图:
第一张表添加正常,第二张表却一直出现空白。断点逐步检查,每行代码值都是正常,且各字段的长度都是很大,数据远没有超出长度。
多次试验发现,第二张表循环错误。由于第二张表与第一张表的第一个字段一样,所以为了剔除该行,循环变量初值为1。对DataGridView单元格赋值时,忘记对该初值减去1,造成
在每次循环中添加第i行,而对第i+1行单元格赋值的情况。
修正循环变量初值,即可。代码如下:
for (int i = ; i < reader.FieldCount; i++)
{
this.dataGridViewX1.Rows.Add();
string str = ParameterInfoCls.standardName(i);
this.dataGridViewX1[, fcount + i-].Value = str;
if (reader.GetValue(i) == null || reader.GetValue(i).ToString() == "")
{
this.dataGridViewX1[, fcount + i-].Value = "未输入";
}
else
{
this.dataGridViewX1[, fcount + i-].Value = reader.GetValue(i).ToString();
}
}
DataGridView控件添加数据时空白的可 错误情况的更多相关文章
- [置顶] DataGridView控件---绑定数据方法
DataGridView控件是在windows应用程中显示数据最好的方式,它只需要几行简短的代码就可以把数据显示给用户,同时又支持增.删.改操作.今天将自己总结的增加数据的方法总结分 ...
- C# DataGridView控件清空数据完美解决方法
C# DataGridView控件绑定数据后清空数据在清除DataGridview的数据时: 1.DataSource为NULL(DataGridView.DataSource= null;)这样会将 ...
- 转:C# DataGridView控件清空数据出错解决方法
C# DataGridView控件绑定数据后清空数据在清除DataGridview的数据时: 1.DataSource为NULL(DataGridView.DataSource= null;)这样会将 ...
- DataGridVIew控件绑定数据之后的,增、插、删操作
最开始没有绑定数据,很快就实现了增.插.删操作,可是绑定数据之后,进行这些操作就会报错. 网上对这方面的资料比较少,自己摸索着找到了解决方法,也就是直接对绑定的数据进行操作,这里以DataTable为 ...
- 将C#datagridview控件的数据导出到Excel中
1.添加引用Microsoft.Office.Interop.Excel. 2.程序代码引用using Excel = Microsoft.Office.Interop.Excel; 3.控件事件代码 ...
- Xcode中给控件添加颜色时自动显示出颜色
在iOS开发中,给一些控件设置颜色的时候,设置完不能立马看到颜色.必须要运行程序之后才能看到设置的颜色,如果颜色有偏差再回代码改参数,然后再运行看颜色很是麻烦.令人高兴得是Xcode有很多功能强大插件 ...
- 使用java(jdbc)向mysql中添加数据时出现“unknown column……”错误
错误情况如题,出现这个错误的原因是这样的: 在数据库中,插入一个字符串数据的时候是需要用单引号引起来的. 而下面的代码,注意看: sta.executeUpdate("INSERT INTO ...
- C# DataGridView控件绑定数据后清空数据
//1.this.dataGridView1.DataSource = null;//会将DataGridView的列也删掉 //2.this.dataGridView1.Columns.Clear( ...
- DataGridView控件绑定数据之后,置顶操作
一个小小的置顶,就搞了半个小时,还是记录一下吧. 1.第一个问题就是datatable的插入只能是Insert DataRow,但是获取选中的行,都是DataGridViewRow,不能直接转换. 找 ...
随机推荐
- auto_ptr浅析(转载)
转载自http://www.cnblogs.com/qytan36/archive/2010/06/28/1766555.html auto_ptr是C++标准库中(<utility>)为 ...
- iOS 一个工程中引用其他工程时编译的Architecture问题
当引用了其他工程时,在编译时报错,提示你编译指令架构不对,你需要查看一下这几个工程的Architecture部分是否又冲突,比如主工程设置Valid Architecture为armv7 而 另一个子 ...
- ext树表
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA2UAAAHwCAIAAACpIFDdAAAgAElEQVR4nOy9f5Qb5ZnvWWQZlnO5Oc ...
- yum rpm
本文多选自鸟哥的私房菜,非常感谢鸟哥^_ _^
- 使用show profiles分析SQL性能
如何查看执行SQL的耗时 使用show profiles分析sql性能. Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后. 查看数据库版本 mysql ...
- 创建型模式之Singleton模式
单例模式大概是最直观的一种设计模式了,尽管直观却不简单. 数学与逻辑学中,singleton定义为“有且仅有一个元素的集合”, 单例模式可以如下定义:“一个类有且仅有一个实例,并且自行实例化向整个系统 ...
- 电赛菜鸟营培训(二)——STM32F103CB之中断控制
一.中断的概念 中断可以理解为一个有激励给它就会立马给你响应的一个东东.就是说在你执行main函数的内容时,当有这个触发时便会跳转到这个中断内存,执行这段代码. Attention: 1.中断的用法, ...
- SSH 框架学习之初识Java中的Action、Dao、Service、Model-收藏
SSH 框架学习之初识Java中的Action.Dao.Service.Model-----------------------------学到就要查,自己动手动脑!!! 基础知识目前不够,有感性 ...
- 【转】有赞的kylin方案
http://tech.youzan.com/kylin-mondrian-saiku/
- JAVA项目JDK版本修改
1.添加JDK window-----> preferences 2.设置默认JDK版本 3.在项目上右键------>Properties