|
|
2013年2月4日
摘要:
操作数据库过程中,提示分布式事务处理等待锁时,如下图:则说明操作的记录被锁住或死锁了,如果是死锁,则需要使用以下SQL查询出相应的锁:select A.sid, b.serial#, decode(A.type, 'MR', 'Media Recovery', 'RT','Redo Thread', 'UN','User Name', 'TX', 'Transaction', 'TM', 'DML', 'UL', 阅读全文
摘要:
在PowerBuilder的应用程序开发过程中,对数据库中数据进行操作的对象是数据窗口对象(DataWindow),利用数据窗口对象,我们可以十分方便地完成对数据库中已经存在的表中数据进行检索、查询、插入、删除和更新。但是,在实际问题中,我们常常遇到数据库中的一些表是用户在程序运行期间动态生成的,若要对这样表中的数据进行操作,就要运用动态数据窗口对象,值得提到的一点是,在动态数据窗口对象生成时,其标题区(Header Band)中的文本不能直接显示成汉字,这的确是一点遗憾,不过这个问题可以通过映射的方法得到解决。一、 问题的提出 设有如下两张表:A表中的记录是用户可以在程序运行期间进行自由增加 阅读全文
摘要:
1 使DataWindow列只能追加不能修改 如何使DataWindow中的数据只能追加新记录而不能修改,利用 Column 的 Protect 属性可以很方便的做到这一点,方法如下: 将每一列的 Protect 属性设置为: If( IsRowNew(), 0, 1) ) 在 PowerScript 中可以动态修改 Protect 属性: dw_1.Modify("column_name_here.Protect='1~tIf(IsRowNew(),0,1)'") 这样,DataWindow 中只有新追加的记录可修改,而其他记录是只读的。2 如何在Data 阅读全文
摘要:
DataWindow.Net系列参考链接 阅读全文
摘要:
在编制管理信息应用系统中,一般都会遇到一个共同问题,那就是如何根据不同情况去控制表中的数据列,比如对于同一DATAWINDOW不同的用户有不同的操作(如对于数据录入人员可以更改数据,而对于查询人员一般不能更改数据),下面就以一个简单的工资表为例来说明利用PB如何在DATAWINDOW中控制列的修改方式。工资表基本列如下:代码 姓名 工作时间 基础工资 浮动工资 岗位工资 知识分子补贴 其它工资 code name workdata basesa movesa stationsa bt othersa char varchar char decimal decimal decimal deci. 阅读全文
摘要:
#region 定义全局变量 /// <summary> /// 表头列前缀 /// </summary> private string m_strColumnNameHeader = "headercolumn"; /// <summary> /// 当前排序的列 /// </summary> private string m_strCurrentSortColumn = "1"; /// <summary> /// 当前排... 阅读全文
摘要:
如动态修改线条的长度: ds.Modify("line.y2='100 ~t if(page()=1, 200, if(page()=2, 300, if(page() = 3, 400, 100)))'");注意if的嵌套,是if(c1, t1, if(c2, t2, f2))。其中~t不是其含义,还有~t前要加个值,是否为初始值?page()是求当前页数。 阅读全文
摘要:
(1)C#里设置DataWindow的横向纵向打印方式 //按照打印设置打印 p_dwView.PrintProperties.Orientation = Sybase.DataWindow.PrintProperties.PrintOrientation.Default; //横向打印 p_dwView.PrintProperties.Orientation = Sybase.DataWindow.PrintProperties.PrintOrientation.Landscape; //纵向打印 p_dwView.PrintProperties.Orientation = Sybase.D 阅读全文
摘要:
PowerBuilder中,DataWindow是用户前端用来存储、操纵数据的对象。在每一个DataWindow对象中有4个二维表作为数据缓冲区,用来存储查询到的数据。用户在DataWindow中对数据处理系统内部的操作实际上都是将数据在这几个缓冲区中进行的修改和移动,最后在用户提交数据库时,系统根据这四个缓冲区中的信息形成SQL的IN-SERT,UPDATE,DELETE等语句。这四个缓冲区是:PrimaryBuffer这个缓冲区是存放填充窗口中DataWindow控件中数据的,调用DataWindow的Retrieve()函数和InsertRow()函数可以将数据填入这个缓冲区中。当使用有 阅读全文
摘要:
WinForm Control - DataGridView 编程36计 阅读全文
摘要:
具体要注意的: 1.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。优化器将无法通过索引来确定将要命中的行数,因此需要搜索该表的所有行。 3.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而 阅读全文
摘要:
注:N表示数字型,C表示字符型,D表示日期型,[]表示内中参数可被忽略,fmt表示格式。 单值函数在查询中返回单个值,可被应用到select,where子句,start with以及connect by 子句和having子句。 (一).数值型函数(Number Functions) 数值型函数输入数字型参数并返回数值型的值。多数该类函数的返回值支持38位小数点,诸如:COS, COSH, EXP, LN, LOG, SIN, SINH, SQRT, TAN, and TANH 支持36位小数点。ACOS, ASIN, ATAN, and ATAN2支持30位小数点。 1、MOD... 阅读全文
摘要:
(注:如果你在Vs.net中要用到Oracle 9i 数据库,这篇文章就有点帮助)Oracle为dotNet开发人员提供了全新的开发包ODP.NET,ODP.NET是为微软dotNet应用程序所提供的一套高效的访问Oracle数据库开发包。 现在最新的版本为:Oracle Data Provider for .NET Release 9.2.0.2.102(74M) 下载地址: http://otn.oracle.com/tech/windows/odpnet,下载前需要先作为OTN用户登录(OTN注册地址:http://profile.oracle.com/jsp/reg/register. 阅读全文
摘要:
1 VSS概述 版本控制是工作组软件开发中的重要方面,它能防止意外的文件丢失、允许反追踪到早期版本、并能对版本进行分支、合并和管理。在软件开发和您需要比较两种版本的文件或找回早期版本的文件时,源代码的控制是非常有用的。 Visual SourceSafe 是一种源代码控制系统,它提供了完善的版本和配置管理功能,以及安全保护和跟踪检查功能。VSS通过将有关项目文档(包括文本文件、图象文件、二进制文件、声音文件、视屏文件)存入数据库进行项目研发管理工作。用户可以根据需要随时快速有效地共享文件。文件一旦被添加进VSS,它的每次改动都会被记录下来,用户可以恢复文件的早期版本,项目组的其他成员也可以看到 阅读全文
摘要:
1、利用ORACLE NET MANAGER工具 1)打开 ORACLE NET MANAGER 2)增加"服务命名" 第一步 NET服务名:任意填写 第二步 通讯协议:如果连接远程机器上的ORACLE,选择TCP/IP(internet协议) 第三步 主机名:输入IP地址 端口号:一般缺省为1521 第四步 SID: 一般和数据库名字相同 第五步 测试 3)启动PL/SQL连接 2、直接修改配置文件: 1)打开目录D:\oracle安装目录\ora92\network\admin中的文件tnsnames.ora。 2)增加如下代... 阅读全文
摘要:
重新安装了一篇还不行,差点就有了重新安装系统的心了,幸好找到了解决方案。VMDebugger导致VS2005无法启动 电脑上装的是VS2005+sp1,前一段时间装了VMware用,后来因为启动速度慢,把VMware的四个服务给改成了手动启动,结果就出现了VS2005启动时只显示到启动界面就定住的情况。发现了原因是VMware装上后在VS2005上添加了一个VMDebugger工具栏,VMware服务没有加载,就导致了VS2005无法启动。然后在工具->外接程序管理器中把启动选项去掉,但是下次启动VS2005依然加载VMDebugger,有点流氓了哈….终于Google到一个老外的Blo 阅读全文
摘要:
方法1、SELECT a,replace(wmsys.wm_concat(b),',','') FROM 表名 t GROUP BY a;方法2、select deptno,ename_path from (select deptno,ename_path, row_number() over(partition by deptno order by deptno,curr_level desc) ename_path_rank from (select deptno,ename,rank,level as curr_level, ltrim(sys_conne 阅读全文
摘要:
本文演示一个简单的办法,并使用程序将一个dataset中的内容填充到指定的格子中,目的是尽可能的通用,从而避免C#代码必须知道Excel文件中字段和内容的位置的情况。 先制作一个简单的Excel文件作为模板,为了防止要填充的Cell中的内容和标题的内容一样,所以要填充内容的Cell中的内容是“$” + 字段名(要和DataTable中的列名一致),效果如图:创建一个Winform程序,给窗体上添加两个按钮,代码分别为: 创建Xml:private void button1_Click(object sender, EventArgs e) { DataCol... 阅读全文
摘要:
在Excel中,如果某个单元格的内容是数字,且比较长,默认情况下,会变为科学计数发表示,例如:123456789123456000会被表示为1.2345E+17,为了能够将数字按照普通的格式完全表示,就需要设置单元格的属性 ,下面是例子代码: Excel.Application m_objExcel = null; Excel._Workbook m_objBook = null; Excel.Sheets m_objSheets = null; Excel._Worksheet m_objSheet = null; ... 阅读全文
摘要:
在Excel中,行和列实际上仍然是Range,只不过取得行和列的方法和前面几篇随笔出现的有点不同,要使用Worksheet的Rows和Columns属性的get_Item方法,下面是例子代码,演示了怎样选中行,并且在行之间复制数据,和插入行:ThisApplication = new Excel.Application();ThisWorkbook = ThisApplication.Workbooks.Open("z:\\Book1.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Mis 阅读全文
摘要:
在用Excel作报表的时候,可能需要操作单元格的边框和填充颜色和纹理等操作,下面的代码说明如何设置选中的单元格的填充纹理和边框try{ ThisApplication = new Excel.Application(); ThisWorkbook = ThisApplication.Workbooks.Open("z:\\Book1.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type 阅读全文
摘要:
在用Excel作报表的时候,可能会碰到分页的情况,这样就要分成多个Sheet显示,如果要在每页都保留表头,就需要将第一页作为模板设计的表头部分拷贝到其他的Sheet上,这时就要用用到Excel中的单元格拷贝。下面的代码说明如何一个Sheet上的选定内容拷贝到另一个Sheet上: ThisApplication = new Excel.Application(); ThisWorkbook = ThisApplication.Workbooks.Open("z:\\Book1.xls", Type.Missing, Type.Missing, Type.Missing, Ty 阅读全文
摘要:
有的Web项目选用Excel作为报表方案,在服务器端生成Excel文件,然后传送到客户端,由客户端进行打印。在国内的环境下,相对PDF方式,Excel的安装率应该比pdf阅读器的安装率要高,同时,微软也为C#操作Excel提供了完备的接口,虽然ZedGraph和其他的商业报表工具生成的统计图也很好,但是人家微软毕竟是大品牌,值得信赖。本文介绍使用C#调用Excel来生成统计图(Chart)的以及Chart图中各部分控制的一些方法。在上一篇使用C#和Excel进行报表开发(二)-操作统计图(Chart)中,我们使用一个预定义的Excel文件,通过改变Chart中的某个值来生成统计图。本文进一步演 阅读全文
摘要:
下面的代码使用一个现有的统计图Excel文件,加载这个文件,设置某一项的值和统计图的表示方式,然后保存到另一个Excel文件里。如果是VS2005+Office2003,也可以选择使用Visual Studio Tools for Office来作。Excel.Application m_objExcel = null;Excel._Workbook m_objBook = null;Excel._Chart m_objChart = null;Excel.ChartGroup m_objChartGroup = null;Excel.Series m_objSeries = null;obj 阅读全文
摘要:
目前的商业工具如水晶报表,ActiveReport等,都提供了灵活,强大的功能,但是对于比较特殊化的表格,特别是国内的一些应用,都是一个个的格子组成的,这样要是用线来一根根画就比较麻烦,但是这类工具还都不提供表格化的报表布局定义方式。一个很好的选择是VS2005的客户端报表(RDLC),但是在某几个方面还是不够灵活,例如,灵活性有限制,要想自己编码实现一些复杂逻辑还是有困难;要VS2005,对于一些还在使用VS2003的项目就只有眼馋的份了。用Excel来实现,优点在于页面布局设计灵活,同时使用代码来操作数据要更灵活,更精确。下面是一个简单的例子,打开一个定义好的Excel文件,这个文件是作为 阅读全文
摘要:
一、封装CustomPrintController类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Drawing.Printing;using System.Drawing.Imaging;using System.Drawing;using System.Windows.Forms;namespace PrinterTest{ /// <summary> /// 打印控制 /// </summary> public class 阅读全文
摘要:
在合作开发时,C#时常需要调用C++DLL,当传递参数时时常遇到问题,尤其是传递和返回字符串是,现总结一下,分享给大家:VC++中主要字符串类型为:LPSTR,LPCSTR, LPCTSTR, string, CString, LPCWSTR, LPWSTR等但转为C#类型却不完全相同。主要有如下几种转换:将string转为IntPtr:IntPtr System.Runtime.InteropServices.Marshal.StringToCoTaskMemAuto(string)将IntPtr转为string:string System.Runtime.InteropServices.M 阅读全文
摘要:
最近帮底层开发的同时用C#重新封装一下dll,也就是用C#类来封装C++Dll里的方法,以供用户使用。之前也用到过类似的应用,大多数问题都出在类型转换上,但是这次的应用层出不穷,所以在这里总结一下,以供自己以后查阅,也希望对大家能够有所帮助。 首先,重复一下一些基本使用方法。具体的那些方式在这里就不重复讲了,网上很多的。比如http://blog.csdn.net/sunboyljp/archive/2009/12/31/5110639.aspxc++ 头文件中的定义:NPD_API int NP_Init();C#中定义函数[DllImport("npd_api.dll" 阅读全文
摘要:
private void DataGridViewEx_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) { if (e.RowIndex == -1) { // int w = dataGridView1.HorizontalScrollingOffset + dataGridView1.TopLeftHeaderCell.Size.Width + dataGridView1.Columns[0].Width + 10; ... 阅读全文
摘要:
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1、群发短信有几种方式:1.1短信猫:一个普通的工控机,插入SIM卡,可以通过接口的方式发送短信,点对点发送,到达率快准确,但是呼出的号码是普通的手机号码。缺点:移动对SIM卡的限制是每小时200条,发送太多会锁卡。目前短信猫有8端口的,即1小时最多能发送1600条。每条短信的价格为0.1元。技术实现:分为AT指令,短信猫SDK和RTX插件方式 ,短信猫通常都支持共享数据库方式。共享数据库中,涉 阅读全文
摘要:
using System;using System.Threading;using System.Reflection;class Test{ delegate string TestDelegate(string value,int value1); static void Main() { //Assembly t = Assembly.LoadFrom("HelloWorld.dll"); 与下面相同的效果 Assembly t = Assembly.Load("HelloWorld");//**************************.. 阅读全文
摘要:
using System;namespace Money { public class MoneyUpperConverter { public DecimalUpperConverter() { // // TODO: 在此处添加构造函数逻辑 // } #region 小写金额转换为大写金额,其他条件:金额小于一万亿,最多两位小数 /// <summary> /// 小写金额转换为大写金额,其他条件:金额小于一万亿,... 阅读全文
摘要:
using System;namespace Numeric { #region 货币中文转换类 /// <summary> /// 本类实现阿拉伯数字到大写中文的转换 /// 该类没有对非法数字进行判别 /// 请调用NumToChn方法 /// 作者:menway /// </summary> public class NumericUpperConverter { #region 构造器 /// <summary> /// 构造器 /// </summary> ... 阅读全文
摘要:
最近在用VS2005做项目的时候,一直忍受着VS2005输入法自动切换到全角的Bug的作怪,一边等待着微软给我们一个解决的方案。但是,我的项目都要作为产品打包出去了,微软还是闷头不对这个Bug出一个解决方法。怎么办?我可以忍受这个输入法来回切换之苦,可用户体验可不会饶过我们的。弄不好,来个集体罢用,让我们都到微软喝西北风去啊!总不能就这么交出产品出去吧,只有自己动手了。下面我用两种方法来实现如何避免输入法的这个Bug。 方法一:Form的Pain和遍历Control的Enter方法。首先,我们为了使您原有的代码更简洁,我们把所要做的步骤封装到一个单独的类中,类代码如下:using System 阅读全文
摘要:
也许很多人也遇到这样的问题,连续不断向listview中加载数据时界面会不停的闪烁,当你用listview.BeginUpdate(); listview.EndUpdate(); 虽然可以减轻一些,但也不能彻底消除闪屏。不信?可以试试下面的代码:public partial class Form1 : Form{ private int counter = 0; public Form1() { InitializeComponent(); } DoubleBufferListView l... 阅读全文
摘要:
引用COM中的COM+ 1.0 Admin Type Library 操纵COM+配置using System; using System.Collections.Generic; using System.Text; using COMAdmin;namespace UpdateToolkit { /// <summary> /// COM+应用程序控制 /// </summary> public class clsComAppController { #region COM+属性字符串 /// <summary> ... 阅读全文
摘要:
网络异常断开原因主要有那些呢?归纳起来主要有以下两种:1、客户端程序异常。 对于这种情况,我们很好处理,因为客户端程序异常退出会在服务端引发ConnectionReset的Socket异常(就是WinSock2中的10054异常)。只要在服务端处理这个异常就可以了。2、网络链路异常。 如:网线拔出、交换机掉电、客户端机器掉电。当出现这些情况的时候服务端不会出现任何异常。这样的话上面的代码就不能处理这种情况了。对于这种情况在MSDN里面是这样处理的,我在这里贴出MSDN的原文:如果您需要确定连接的当前状态,请进行非阻止、零字节的 Send 调用。如果该调用成功返回或引发 WAEWOULDBL.. 阅读全文
摘要:
在基于.NET的网络服务端的开发中,我们用到和听到的最多的恐怕就是异步Socket了。异步Socket的性能比同步高出很多,但是编写代码比较复杂。因此异步Socket也是网络上讨论比较多的话题。今天,我们就来讨论一下如何用异步Socket开发网络应用。在此之前我们先讨论两个问题。一、异步Socket是如何工作的:那异步Socket是如何工作的呢?我以接收一条消息来说明这个问题。首先,程序向系统投递一个接收数据的请求,并为其指定一个数据缓冲区和回调函数,回调函数用来指示当数据到达后将如何处理,然后我们的程序继续执行下去,当有数据到达的时候,系统将数据读入缓冲区,并执行回调函数,处理这条消息。我们 阅读全文
摘要:
一、什么是IPCIPC(Inter process Communication)就是“进程间通讯”。我们都知道,在windows系统中,各个应用程序(进程)之间常常需要交换、传递数据,这就要解决进程间的数据通信问题。在最初的16位Windows3.x系统中,所有Windows应用程序共享单一地址,任何进程都能够对这一共享地址空间的数据进行读写操作。随着Windwos98、Windows NT、Windows2000等32位的操作系统的出现,每个进程都有自己的地址空间,一个Windows进程不能存取另一个进程的私有数据,也就是说,虽然两个进程可以用具有相同值的指针寻址,但所读写的只是它们各自的数 阅读全文
摘要:
wav文件的文件头wave文件的格式:00H4char"RIFF"标志 04H4longint文件长度 08H4char"WAVE"标志 0CH4char"fmt"标志 10H4 过渡字节(不定) 14H2int格式类别(10H为PCM形式的声音数据) 16H2int通道数,单声道为1,双声道为2 18H2int采样率(每秒样本数),表示每个通道的播放速度, 1CH4longint波形音频数据传送速率,其值为通道数×每秒数据位数×每样 本的数据位数/8。播放软件利用此值可以估计缓冲区的大小。 20H2int数据块的 阅读全文
摘要:
ZedGraph是一个非常优秀的开源的作图控件 ZedGraph来源:http://sourceforge.net/project/showfiles.php?group_id=114675ZedGraph相关例子资源:http://zedgraph.org/wiki/index.php?title=Sample_Graphs1、 在vs中使用ZedGraph2、 基本一些概念几个注意点:图片的保存路径设置:RenderedImagePath属性中设置,程序对该文件夹应该是有写和修改权限的图片的输出格式:OutputFormat属性中设置,Png的推荐,比较清晰。Chart ChartBord 阅读全文
摘要:
本文分2部分,前面为符号解释,后面是应用实例。转帖一.符号解释: \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,’n’ 匹配字符 "n"。’\n’ 匹配一个换行符。序列 ’\\’ 匹配 "\" 而 "\(" 则匹配 "("。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 ’\n’ 或 ’\r’ 之后的位置。 $ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 ’\ 阅读全文
摘要:
//窗体控制器 using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using System.Text.RegularExpressions;namespace com.filamm.gui.Default { class clsCtl_frmForm1 { #region 变量 //窗体句柄 frmForm1 m_objViewer; #endregion#region 构造函数 /// <summary> /// 无参构造 /// </ 阅读全文
摘要:
如果需要在winform 的数据控件datagridview 中嵌入checkbox列 ( DataGridViewCheckBoxCell ), 在程序的执行中有可能需要像纯粹的checkbox控件的selectedindexchanged事件一样的事件来捕捉其状态的改变我觉得比较好的方式是用datagridview 控件的cellcontentclick事件 例如:如果嵌入的 DataGridViewCheckBoxCell 列在第一列,判断状态并添加处理事件可以为: private void dataGridView1_CellContentClick(object sender, Da 阅读全文
摘要:
实现等待窗体的几种方式===========================================================作者: dotnet(http://dotnet.itpub.net) 发表于: 2007.06.13 18:35 分类: .NET技术开发 出处: http://dotnet.itpub.net/post/20969/294521 ---------------------------------------------------------------实现等待窗体的几种方式:下面说明了五种可以实现等待窗体的方式,其中三种给出了代码。准备资料安全访问控 阅读全文
摘要:
using System;using System.Collections.Generic;using System.Text;using System.Windows.Forms;namespace SysClassLib.Tools{public class IMEControl:Object{private static int IMECurIndex=0;public static void IMEClose(object sender, EventArgs e){ //获取当输入法序号IMECurIndex = InputLanguage.InstalledInputLanguage 阅读全文
|