木子屋 Dnawo's BLOG

2009-08 归档

共 36 篇

.NET数据集(xsd)使用模糊查询

当指定如下SQL语句进行查询时: 生成的方法为: 参数CompanyName丢失了,SQL语句稍做修改: 这样生成的方法为: 总算正确了,调用如下: 注意添加%!

数据集(xsd)添加查询提示:新命令文本所返回数据的架构与主查询的架构不同

在vs2008中,给数据集添加select查询时经常出现提示:新命令文本所返回数据的架构与主查询的架构不同。 究其原因是新添加的select查询和主查询中的字段不同所引起的,这边不同包括字段数目、名字(别名)等因素。下边分情形进行测试: 1).都不使用别名,新查询字段数目少于主查询字段数目 主查询:Select Id,Name,Age FROM Student 新查询:Select Id,Name FROM Student 测试结果:vs有提示;少了的字段仍会显示出来,但值为空;主查询一更新,新查询的字段会自动更新成和主查询相同。 2).都不使用别名,新查询字段数目多于主查询字段数目 主查询:Select Id,Name,Age FROM Student…

png格式图片详解

PNG的文件结构 对于一个PNG文件来说,其文件头总是由位固定的字节来描述的: 其中第一个字节0x89超出了ASCII字符的范围,这是为了避免某些软件将PNG文件当做文本文件来处理。文件中剩余的部分由3个以上的PNG的数据块(Chunk)按照特定的顺序组成,因此,一个标准的PNG文件结构应该如下: PNG数据块(Chunk) PNG定义了两种类型的数据块,一种是称为关键数据块(critical chunk),这是标准的数据块,另一种叫做辅助数据块(ancillary chunks),这是可选的数据块。关键数据块定义了4个标准数据块,每个PNG文件都必须包含它们,PNG读写软件也都必须要支持这些数据块。虽然 PNG文件规范没有要求PNG编译码器对可选数据块进行编码和译码,但规范提倡支持可选数据块。…

FileStream复制文件注意事项

使用FileStream读取文件时,为避免将大文件一次性全部读取到内存中,我们经常会声明一个byte做为临时存储空间,然后循环读取内容: 同理,在复制文件时我们也不希望将大文件一次性都读取到内存中,同样可以声明一个byte做为临时存储空间: 问题来了,当最后一次读取不满1024字节时,byte数组的剩余项都为0,这样在写入时将致使新文件比原文件占用更多的空间: 只需将代码稍加修改即可:

C# short转byte

short占2个字节,byte占1个字节,因而不能直接将short转换成byte,如果强制进行转换,结果可能会不正确。正确的做法是将一个short转为一个byte: 我们知道,每个Unicode字符占用2个字节,那么按上边的思路将Unicode字符转成byte也就容易了: 测试发现:short的取值范围为,将编码大于32767的字符转为short时结果为负数,但不影响转化成byte的结果,也可考虑将short转换成ushort。

C# BinaryWriter和StreamWriter一些区别

1.BinaryWriter生成的文件没有BOM,StreamWriter生成的文件有BOM 2.BinaryWriter可以直接写入2字节有符号整数,StreamWriter不支持 3.BinaryWriter不支持设置字节顺序,StreamWriter 支持设置字节顺序 从测试结果可知BinaryWriter都是按little-endian字节顺序写入的,并且不提供字节顺序标记(BOM);StreamWriter可设置写入的字节顺序,以及是否提供字节顺序标记。

打开MDI窗体的泛型方法

/// <summary> /// 打开MDI窗体,同一个窗体只能运行一个实例 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="parent"></param> public static void OpenForm<T>(Form parent) where T : Form,new() { //已打开则激活 foreach (Form f in parent.MdiChildren) { if (f is T) { f.Activate(); return;…

Windows 应用程序中"无法更新"Access2000数据库

今天头一次在Windows 应用程序中使用Access数据库,奇怪的是代码执行后所有操作似乎被回滚了,但程序又没报错。下边是一段添加记录的代码: 执行后打开数据库查看,并没有新增的记录!最终发现原因是:Windows 应用程序每次编译时,都会复制一份原始的Access数据库到Bin文件夹下,应用程序中的操作都是针对新数据库进行的,而我都是查看原始的那份Access数据库,才会有操作都被回滚的错觉

从安装盘中提取 Visual Studio 2005/2008 图像库

在设计Windows 应用程序时,经常要用到一些小图标,经常是上各大网站中下载,今天无意发现 Visual Studio 2005/2008 本身就提供了上千个常用的小图标,ico格式、bmp格式、png格式,足以满足日常需要。 从安装盘中提取 Visual Studio 2005 图像库 ·打开_18659_RTL_X86_CHS_VS2005IMAGELIBRARY.CAB; ·解压出FL_VS2005ImageLibrary_zip_131797_CHS____.3643236F_FC70_11D3_A536_0090278A1BB8,更名为VS2005ImageLibrary.zip;…