类库不要和里面的类重名哦!
昨天程序调试出错,而且是自动生成的程序出错,汗一个。。。最后发现类库名A和类名A同名了,当实例化这个类库中一个类C时,用到A.C x=new A.C(); 这时程序不知道A是类库还是类了。。。所以出现错误提示。以后命名的时候还需仔细啊。[@more@]
Infragistic NetAdvantage的ultraChart控件列名在X轴的问题
ultraChart都是把列名放到X轴的,但是我想把数据库里的数据每列画一条折线,同时ultraChart不但把列名放在X轴,折线也并不是向上画,而是横着画,我试着把数据表转置,但是到列数就很多了,这样ultraChart控件可能会反应不过来,反正我的程序被卡住。今天看了一上午的英文帮助文档,解决如下:[@more@]this.ultraChart1.SwapRowsAndColumns = true;//就可以行列变换了this.ultraChart_analysis.LineChart.TreatDateTimeAsString = false;//若想X轴按时间序(之前需设置table.Columns[0]为DateTime类型)另外,默认的是this.ultraChart1.Axis
判断table列的数据类型
当需要判断table某列的数据类型为double或int时则执行某些操作,语句如下:[@more@]if ((typeof(double).Equals(ds.Tables[0].Columns[dataGridView1.CurrentCell.ColumnIndex].DataType) == true)|| (typeof(int).Equals(ds.Tables[0].Columns[dataGridView1.CurrentCell.ColumnIndex].DataType) == true)){//某些操作语句}该语句若放在DataGridView的clickCell事件里面,则实现点击某个Cell则获取相应table的数据类型,若是int或double型则执行某些操作语句。
SQL遭遇带括号()的列名
今天遇到一个问题,首先是datatable.Compute()计算,里面需要传入一个列名,而我的列名是通过方法获取的,赋给了一个变量colName,是不能直接写datatable.Compute("Avg(colName)","true");的,而该写作datatable.Compute("Avg("+colName+")","true");但是后来还是会在某些情况下出错,经过发现出错的列的列名都包含括号(),经过查询相关资料解决很简单:[@more@]datatable.Compute("Avg(["+colName+"])","true");外面加上方括号[]就可以啦,原因可能是比
判断textbox为空,focus总是在最后一个为空的textbox的问题(foreach,z-order)
foreach (Control ctl1 in this.tabPage1.Controls){foreach (Control ctl2 in ctl1.Controls){//TextBox tb = ctl2 as TextBox;if ((ctl2 is TextBox) && (ctl2.Visible == true)){if (((TextBox)ctl2).Text.Trim().Length == 0){MessageBox.show("输入数据不能为空,请输入数据!");((TextBox)ctl2). focus;return; }}}}//为节省博客空间,这里括号写在一行。最后焦点总是在在最后一个为空的textbox。比如有三个空的textbox,焦点将停留在最后一个textbox,请教高手指点后得知原因是:[@more@]在WinForm里,后加入的c
读写app.config配置文件的三种方法
//写config文件方法1public void SaveConfig(string configKey,string configValue){Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);config.AppSettings.Settings.Clear();config.AppSettings.Settings.Add(configKey, configValue);config.Save(); }[@more@]//写config文件方法2public void SaveConfig(string configKey,string configValue){XmlDocument doc=new XmlDocument();doc.Load(strFileName);XmlNodeList nodes=doc.GetElementsByTagName("add");foreach (XmlNode
在C#和SQL Server数据库中怎么给DateTime类型赋null值、null和
今天在将数据库里的datetime类型数据赋给C#里DateTime类型变量的时候遇到一个问题,那就是数据库里面的datetime数据存在null值。C#默认不能将null赋给DateTime变量,但是可以使用Nullable类型的DateTime,只需在声明变量的时候在DateTime后加一个?号,如:DateTime? x ;x便可以赋null值。但是从数据库的datetime类型变为C#的DateTime类型需要Convert.ToDateTime();如果数据库里面的datetime数据为null的话,这个方法是不能使用的。于是我加了个if语句:[@more@]if((row["date1"])!=null)但是这个if语句无效,改成row["d
SQL将null转化为0
昨天遇到个问题,编写:select *from table1where id>(select MAX(id2) from table2)发现没有记录返回,一直寻找其中的问题。[@more@]后来想到由于table2现在还未录入数据,所以id2的值为null,今天查了下,可以利用isnull( )函数来解决。修改如下:select *from table1where id>(select isnull(MAX(id2),0) from table2)问题得到解决:)
什么是多态?
[@more@]派生类继承基类的时候,可以重写(override)基类虚拟成员,这样导致派生类的多样性。我感觉对多态的理解还不仅仅是在派生类的多样性上面,多态主要表现在基类实例化时能够调用其派生类当中各种不同的方法。ps:new可以用来在派生类当中创建基类当中定义的方法; sealed放在override前面来停止虚拟继承; 字段不能够是虚拟的。
override和overload的区别(C#)
越来越发觉我目前还很无知。。。区别如下:[@more@]override表示“重写”,用于继承一个基类的时候,基类当中虚拟成员的实现。overload表示“重载”,用于同一类中同名方法但参数个数或类型不同的实现,也就是让方法有不同签名的版本。
组合问题算法
问题描述:找出从自然数1、2、……、n中任取k个数的所有组合。例如n=5,k=3的所有组合为:543,542,541,532,531,432,431,421,321没想到将原本C写的算法用C#来写,还真费了点劲,看来我对C#连了解都还算不上啊,555。。。加油啊!HO~HO![@more@]using System;using System.Collections.Generic;using System.Text;namespace Conbination//第一个像样的C#程序{class Conbination{//static方法不需要对象便可以引用,也就是说和类相关和类的实例不相关;//可以用“类名.静态方法名”引用//如此看来,C#中凡是几乎都是对象,如果不是对象
VS2005调试出错,提示无法启动调试,绑定句柄无效
方法如下:[@more@]ps:我只尝试了第二种方法,问题解决。转自:http://kuangshiyun.bokee.com/6312873.html1. 开启 Terminal Services 服务. 允许用户以交互方式连接到远程计算机。远程桌面、快速用户切换、远程协助和终端服务器依赖此服务 - 停止或禁用此服务会使您的计算机变得不可靠。要阻止远程使用此计算机,请在“系统”属性控制面板项目上清除“远程”选项卡上的复选框。看来这个服务还是要开启的. 2. 在项目-属性里面 在“Debug”(调试)一项里,把“Enable the Visual Studio hosting process”(启用Visual Studio 宿主进程)前的钩