使用DataConnectionDialog来获取连接字符串

在系统开发中,数据库连接字符串经常被保存到.config/.ini等配置文件中,以提高系统的灵活性。上大学时候,为了实现灵活配置数据库的效果,用拼字符串的方 法来动态生成连接字符串,这种方法充满了Bad Smell。

昨天用CodeSmith时候,看到它的数据连接配置界面,如此的眼熟,如下图。

image

Google了一下,原来这家伙的名字叫做DataConnectionDialog,所属命名空间为Microsoft.VisualStudio.Data。

使用的方法也很简单,引用Microsoft.Data.ConnectionUI.dll和Microsoft.Data.ConnectionUI.Dialog .dll,这两个文件位于Microsoft Visual Studio 9.0Common7IDE下面。

这两个dll并没有其他依赖关系,可以放心的放到自己的程序中使用。

使用代码如下

DataConnectionDialog dataConnectionDialog = new DataConnectionDialog();
DataSource.AddStandardDataSources(dataConnectionDialog);
if (DataConnectionDialog.Show(dataConnectionDialog) == DialogResult.OK …
more ...

正则表达式抓捕替换

问题情境

需要将RDL报表里的GetComment( Parameters!F0001.Value , Parameters!F0002.Value ,"total", Parameters!Language.Value)函数修改为GetCommentForComment( Parameters!F0001.Value , Parameters!F0002.Value ,"total", Parameters!Language.Value, "ReportConnection0107")。

思路

使用正则表达式里面的分组进行抓获,再用1将中间固定的参数取出,组成新的字符串。

Vim实现

%s/GetComment(((sw+!w+.w+s,){2}s"w+"s,sw+!w+.w+s))/GetCommentForReport(1 , "ReportConnection0107")/gc

解释 …

more ...

将VisualStudio打造成Vim

image

背景:Vim in VisualStudio?

最近痴迷于Vim,尝试着在.net环境中(70%C#+20%ASPX+10%JS)使用Vim进行开发。但是似乎现成的Vim插件不太适应.net开发平台,在进 行调试、编译以及ASPX页面调整时候还是需要切换到VS。

内事不决问老婆,外事不决问Google,我以关键词"Vim C#"向G神询问,很可惜一圈一圈找下来,都没有什么有价值的答案。在StackOverlow上找到 了一些相关资源,其中几位资深人士(使用Vi/Vim大约20年)提到了一款叫做ViEmu的软件,就好奇的跑去看看。

ViEmu

让我们来见识一下ViEmu的厉害吧。ViEmu支持模式切换、移动、宏、高亮搜索,键盘映射、增强命令、正则表达、可视模式等等。反正常用的Vim功能都具备。它自 己也敢宣称支持Vim大部分功能(Vim太强大,不敢说完全模拟~)。下面是一张ViEmu的官方示意图 …

more ...

PDA"未能建立与网络的连接"的解决办法

遇到这个问题大凡是因为模拟器或者真机无法连接网络,所以需要先测试网络是否畅通,在真机或者模拟器的IE中打开需要的WebService地址,看看是否能够正常获 取。

确定是网络原因后,可以采用多种方式连接网络,比如使用虚拟网卡来实现,又或者使用ActiveSync来实现。

使用本地网卡

在模拟器的文件-配置中的网卡中,选择本地网卡,可能会需要提示安装Virtual PC 2007,我不愿意装这么一个大家伙,也就没有尝试这种方法,需要的朋友可以在Download details: Virtual PC 2007来下载Virtual PC 2007进而连接互联网。

使用ActiveSync

ActiveSync是一个连接Win系列手持到电脑的同步软件,通过它可以使真机或者模拟机连接网络,步骤如下。

1、打开ActiveSync ,点击文件-连接设置,在"允许连接到以下其中一个端口"下选择"DMA"。

2、打开 VS2005,点击菜单工具-设备仿真管理器,选择一个windows mobile 5.0 PocketPC 模拟器。在右键菜单中点击"连接"。等模拟器启动后 …

more ...

VS2005无法创建或打开"智能设备"项目的一个问题的解决方法

状况

在VS2005中创建或打开"智能设备"项目时,提示以下错误: "从用户数据存储中检索信息时出错。系统未找到指定的对象。" 和 "由于数据存储中不存在项目引用的设备平台,因此无法打开项目。"

在打开VS2005的"工具"-"设备仿真器管理器"时,提示以下错误: "未能正确加载包"Smart Device Configuration Package"( GUID = {D245F354-3F45-4516-B1E6-04608DA126CC} )。请与包供应商联系以获得帮助。由于可能会发生环境损坏,建议重新启动应用程序。要禁止将来加载此包吗? 可以使用"devenv /resetskippkgs"重新启用包加载。"

不成功的解决办法

有说把.csproj文件中的<PlatformID>4118C335-430C-497f- BE48-11C3316B135E</PlatformID>改成<PlatformID>3C41C503-53EF-4c2a- 8DD4-A8217CAD115E</PlatformID>,原因说是"3C41C503-53EF-4c2a- 8DD4-A8217CAD115E"来自任意一个能运行的.net cf2.0项目的.csproj文件 …

more ...

VS2008格式化aspx代码

在VS2008中编辑代码时候,可以使用「编辑-高级-设置文档的格式」来进行格式化代码,快捷键是Ctrl+K Ctrl+D。

但是我在格式化aspx代码时候,却遇到这样的问题,提示「未能重新格式化文档。已还原为原始格式」,「未能完成该操作。」,「未能完成操作。参数不正确」。

遇到这样的原因大凡是由于Html代码中存在一些问题,如嵌套有没有正常关闭,特殊符号如">"有没有转换成转义字符。

比较快捷的修改方法是使用DreamWeaver提供的验证功能,在「结果」面板中,可以使用F7快捷键打开,使用它的验证功能,可以快速找出Html不合法的地方。

more ...