- 博客(32)
- 资源 (32)
- 收藏
- 关注
原创 C#中 Invoke和BeginInvoke的区别详解
否则,在后台线程和主截面线程共享某些状态数据的情况下,如果不同步调用,而是各自继续执行的话,可能会造成执行序列上的问题,虽然不发生死锁,但是会出现不可预料的显示结果或者数据处理错误。而所谓的“一面响应操作,一面添加节点”永远只能是相对的,使 UI 线程的负担不至于太大而已,因为界面的正确更新始终要通过 UI 线程去做,我们要做的事情是在工作线程中包揽大部分的运算,而将对纯粹的界面更新放到 UI 线程中去做,这样也就达到了减轻 UI 线程负担的目的了。调用者线程则可以在完成封送以后去继续它的工作。
2023-02-17 16:35:01
1525
原创 MySQL中关于临时表的创建到删除详细过程
1.临时表的创建: CREATE TEMPORARY TABLE SalesSummary ( product_name VARCHAR(50) NOT NULL , total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00 , avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00 , total_units_sold INT UNSIGNED NOT NULL DEFAULT 0);
2022-12-08 10:56:18
5738
原创 MySQL 中 ALTER 命令
1.作用:修改数据表名或者修改数据表字段2.用法:(1)使用 ALTER 命令及 DROP 子句来删除表的对应字段:ALTER TABLE 表名 DROP 字段名;注:如果数据表中只剩余一个字段则无法使用DROP来删除字段。(2)使用 ADD 子句来向数据表中添加列,并定义数据类型:ALTER TABLE 表名 ADD 字段名 INT;注:如果你需要指定新增字段的位置,可以使用MySQL提供的关键字 FIRST (设定位第一列), AFTER 字段名(设定位于某个字段之后)(3)FIRST 和
2022-12-07 15:52:12
9161
原创 MySQL中 UNION 操作符
1.说明: UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。2.语法:SELECT file1, file2, ... file_nFROM tables[WHERE conditions]UNION [ALL | DISTINCT]SELECT file1, file2, ... file_nFROM tables[WHERE conditions];注:参数说明:(1)file1, file2, ...
2022-12-07 10:13:12
183
原创 MySQL 中 LIKE 子句
1.说明: LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。2.语法:SELECT field1, field2,...fieldN FROM table_nameWHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'注:(1)你可以使用LIKE子句代替等号 =。(2)LIKE 通常与 % 一同使用,类
2022-12-07 09:43:49
784
原创 MySQL中delimiter作用
默认情况下,不可能等到用户把这些语句全部输入完之后,再执行整段语句。delimiter是mysql分隔符,在mysql客户端中分隔符默认是分号(;执行完后,最后一行, delimiter;如果一次输入的语句较多,并且语句中间有分号,这时需要新指定一个特殊的分隔符。(2)这种情况下,就需要事先把delimiter换成其它符号,如//或$$。这样只有当//出现之后,mysql解释器才会执行这段语句。如果不修改的话,本次会话中的所有分隔符都以// 为准。(3)上面就是,先将分隔符设置为 //,
2022-12-02 16:12:07
2043
原创 My sql 存储过程创建及基本原理
6.存储过程修改:ALTER 语句,修改存储过程只能修改存储过程的注释等无关紧要的东西,不能修改存储过程体,所以要修改存储过程,方法就是删除重建;其中:proc_parameter:[IN|OUT|INOUT] parameter_name, type,7.存储过程删除:DROP PROCEDURE [IF EXISTS] sp_name;其中IN表示输入参数,OUT表示输出参数,INOUT表示既可以输入也可以输出,1.存储过程保存在mysql.proc表中;(2)创建有参数存储过程:只有一个IN参数。
2022-12-02 15:52:36
359
原创 C# 程序报错:创建窗口句柄时出错
发现一个类库项目中: new Form().CreateGraphics()每次调用都会加5个GDI对象,而这个函数会调用好多次,后来又发现只有本机电脑解决了,现场电脑还是有问题,发现任务管理器-用户对象接近1W 现场会出现问题。打开任务管理器,详细信息,添加列,将用户对象和GDI对象显示出来,发现 用户对象也接近1W;2、直接从代码入手,一边操作一边看GDI对象的增加,看那个函数调用GDI对象数增加明显。从添加一个设备的代码 一步步调试跟进,看调用哪个函数时 GDI对象/用户对象,增加的多。
2022-11-23 13:40:28
4034
3
原创 C#中Null和DBNull.Value用法和区别
2.row[column]的值为DBNull.Value的话,至少说明它是从数据库中取到值了,对应了数据库中的空值;但如果row[column]的值为null的话,说明没有从数据库中取到值。3.DBNull.Value是一个有着内存地址的具体类型的值,映射了数据库中的null值;而NULL则是空指向,不存在对应的内存地址。任何对象赋值为null后,内存就释放了。1.DBNull.Value,, 是适用于向数据库的表中插入空值;而 null,是指在程序中表示空引用或者对象为空,就是没有实例化。
2022-11-09 08:22:29
629
原创 C#中枚举类型和int类型相互转化
先定义一个枚举类型public enum PropertyType { 小学 = 0, 初中, 高中,大学 };int ->enum int d=2; PropertyType a=(PropertyType)d;int <- enum PropertyType d = PropertyType.小学; int a = Convert.ToInt32(d);Enum类...
2021-12-10 18:46:36
5583
原创 C#中利用split分割字符串的几种方法
第一种方法:代码如下:string s=abcdeabcdeabcde;string[] sArray=s.Split(c) ;foreach(string i in sArray)Console.WriteLine(i.ToString());输出下面的结果:abdeabdeabde第二种方法:我们看到了结果是以一个指定的字符进行的分割。使用另一种构造方法对多个字符进行分割:代码如下:string s=abcdeabcdeabcdestring[
2021-07-21 14:49:10
8865
1
原创 C#截取字符串的几种方法
1.根据单个分隔字符用split截取例如代码如下:string st="GT123_1";string[] sArray=st.split("_");即可得到sArray[0]="GT123",sArray[1]="1";2.利用多个字符来分隔字符串例如代码如下:string str = "GTAZB_JiangjBen_123";string[] sArray = str.Split(new char[2] { 'j', '_' });foreach(
2021-07-21 14:44:50
2339
原创 C#中List〈string〉和string[]数组之间的相互转换
1,从System.String[]到List<System.String>System.String[] str={"a","b","c"};List<System.String> listS=new List<System.String>(str);2, 从List<System.String>到System.String[]List<System.String> listS=new List<System.Strin
2021-07-21 14:40:46
320
原创 C# as和is的用法和区别
类型转换 任何类型都可以转换为其基类类型,用隐式转换完成; 任何类型转换为其派生类型时,必须进行显示转换。如:(类型名)对象名; 使用GetType可以取得任何对象的精确类型; 基本类型可以使用Convert类实现类型转换; 除了string以外的其他类型都有Parse方法,用于将字符串类型转换成对应的基本类型; 值类型和引用类型的转换称为装箱(boxing)或拆箱(unboxing); as/is示例 is转换规则: 检查对象类型的兼容性,并返回结果true(false)
2021-07-06 09:27:13
199
原创 【Devexpress】中gridControl设置某一列属性
1.gridView1.Columns[“列名”].OptionsColumn.AllowEdit = false;//设置列不可以编辑2.c# dev gridControl 实现列宽度自适应:gridView1.OptionsView.ColumnAutoWidth = false;for (int I = 0; I < gridView1.Columns.Count; I++){ this.gridView1.BestFitColumns(); ...
2021-07-01 11:04:14
706
原创 C# 中字符串string和字节数组byte[]的转换
string转byte[]:byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str );byte[]转string:string str = System.Text.Encoding.Default.GetString ( byteArray );string转ASCII byte[]:byte[] byteArray = System.Text.Encoding.ASCII.GetBytes ( str );
2021-07-01 11:03:25
1062
原创 将datatable的值赋给另一个datatable三种方法
方法一:new一个新行,给每个列去赋值。 DataTable dt1 = new DataTable();DataTable dt2 = new DataTable();DataRow NewRow = dt2.NewRow();NewRow["ID"] = dt1.Rows[i]["ID"].ToString();NewRow["No"] = dt1.Ro...
2021-07-01 11:02:56
2275
原创 将datatable的值赋给另一个datatable的三种方法
方法一:new一个新行,给每个列去赋值。 DataTable dt1 = new DataTable();DataTable dt2 = new DataTable();DataRow NewRow = dt2.NewRow();NewRow["ID"] = dt1.Rows[i]["ID"].ToString();NewRow["No"] = dt1.Ro...
2021-06-05 13:02:18
2692
原创 GridControl控件标题和单元格内容居中显示
设置列标题居中显示:Designer - Views -右侧输入框中输入Appearance-HeaderPanel-TextOptions-设置HAlignment为Center设置单元格内容居中显示:Designer - Columns -选择对应的行-点击Column properties-搜索AppearanceCell-TextOptions-设置HAlignment为Center也可以一次性设置所有单元格内容的显示位置,如下...
2021-05-14 09:32:52
691
原创 比较一个数组中是否有重复数据
第一步进行函数的封装 /// <summary> /// 双层遍历,比较数组中是否有重复数据 /// </summary> static bool IsSameWithForeach(string[] arr) { for (var i = 0; i < arr.Length - 1; i++) { ...
2021-04-30 08:53:41
409
转载 static关键字用法详细总结
静态变量和静态方法static关键字最基本的用法是:1、被static修饰的变量属于类变量,可以通过类名.变量名直接引用,而不需要new出一个类来2、被static修饰的方法属于类方法,可以通过类名.方法名直接引用,而不需要new出一个类来被static修饰的变量、被static修饰的方法统一属于类的静态资源,是类实例之间共享的,换言之,一处变、处处变。JDK把不同的静态资源放在了不同的类中而不把所有静态资源放在一个类里面,很多人可能想当然认为当然要这么做,但是是否想过为什么要这么做呢?个人
2021-04-30 08:47:54
811
原创 C#判断两个字符串是否相等的五种方法
string str1="Compare";string str2 = "Compare";1.第一种判断方式if (str1==str2)//C#可以直接进行判断 2.第二种判断方式int result1 = str1.CompareTo(str2); Console.WriteLine(result1); //输出result1=03.第三种判断方式int result2=String.Compare(str1, str2);Cons...
2021-04-29 18:18:05
20370
转载 DevExpress控件 gridControl 详细使用方法介绍
视图的层次结构(1)视图属性:可通过GridControl.Views访问所有视图。可通过ColumnView.Columns访问当前视图的所有列(2)设计器(层次设计器中点击Run Designer可调出)设计器有四大功能:①主要功能的设计;②选择外观;③可以选择多个视图,内嵌编辑器的设置;④打印功能的设置①View:(a)Option:OptionsBehavior可以设置行为(是否允许新增行/是否允许删除行/是否允许编辑/是否允许展开所有分组)O...
2021-04-29 08:28:12
3117
原创 XtraReport控件详细属性说明
1.外观属性说明BackColor获取或设置报表元素及其子控件的背景色BorderColor获取或设置报表元素及其子控件的边框色。BorderDashStyle获取或设置报表元素及其子控件的边框虚线样式。Borders获取或设置报表元素及其子控件的可视边框 (上、右、下、左)。BorderWidth获取或设置报表元素及其子控件的边框宽度。Font获取或设置报表元素及其子控件的字体选项 (字体名称、大小等)。ForeColor获取或设置报表元素及其子控件
2021-04-21 14:01:48
1794
原创 DevExpress的XtraReport控件相关功能介绍
DevExpress的XtraReport控件相关功能介绍Report Bands在把报表添加到应用之后, 报表被初始化分为3个基本的带(页头, 明细, 和页脚), 这些带中可以添加不同的报表控件.每一种带指明了控件在报表中是怎样定位和被打印的, 即确定了打印的顺序和次数. 注意, 有些<band strips>包含了带是如何被打印的信息, 比如: PageHeader和PageFooter就说明了是每一页都有这一带的.在创建报表时, 可以添加或者删除任意的带. 在XtraRep
2021-04-21 13:49:32
633
转载 c# ContextMenuStrip控件简单用法
笔者在学习C#之可视化编程时遇到了一个不好使用的控件ContextMenuStrip,关键是不知道怎么用,然后通过网上的一些资料最终明白了这个控件的用法。现在笔者整理了一下,分享给大家,虽然很简单,但是网上的东西还是比较少。这个东东就是在你单击右键之后出现的选项列表,如下图,笔者在txt空白处单击右键后出现的效果,也就是这个功能:1、首先,在vs2010中,新建一个可视化界面,在工具箱中选择ContextMenuStrip控件,然后画在已经存在的form上,如下图所示:2、在..
2020-07-02 20:01:27
16875
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人