小编Mac*_*Mac的帖子

在数据库中实现一致且全面的地址存储的最佳实践

是否有任何最佳实践(甚至标准)以一致和全面的方式在数据库中存储地址?

更具体地说,我认为在这个阶段有两种地址存储的情况:

  • 您只需要将地址与人,建筑物或任何项目(最常见的情况)相关联.然后一个带有文本列(address1,address2,zip,city)的平面表就足够了.这不是我感兴趣的情况.
  • 您想要对您的地址运行统计信息:特定街道或城市中的项目数量......然后您希望避免任何类型的拼写错误,并确保一致性.我的问题是关于这个特定情况下的最佳实践:建立一致地址数据库的最佳方法是什么?

特定国家的设计/解决方案将是一个很好的开端.

答案:这个问题似乎还没有完美答案,但是:

  • 正如汉克建议的那样,xAL是最接近出现的全球标准的东西.虽然看起来有点矫枉过正,但我​​不确定很多人会想要在他们的数据库中实现它......
  • 为了开始自己的设计(针对特定国家),Dave万国邮政联盟(UPU)网站的链接是一个非常好的起点.
  • 至于法国,地址有一个标准(非官方,但事实上的标准),其中有一个可爱的名字AFNOR XP Z10-011(仅限法语),并且必须付费.法国的UPU描述基于这一规范.
  • 我碰巧找到了瑞典的等效标准:SS 613401.
  • 在欧洲层面,已经做出了一些努力,产生了标准EN 14142-1.它可以通过CEN国家成员获得.

database standards modeling

24
推荐指数
2
解决办法
2万
查看次数

如果包含的控件太大而无法在可调整大小的面板中显示滚动条?

我正在开发一个Windows窗体应用程序(.NET 2.0,VS 2005).我有一个表单,基本上包含一个动态调整大小的面板:

this.panel1.Dock=DockStyle.Fill;
Run Code Online (Sandbox Code Playgroud)

该面板仅用作容器.在运行时,将添加自定义控件:

UserControl uc=new UserControl();
panel1.Controls.Add(uc);
uc.Dock=DockStyle.Fill;
Run Code Online (Sandbox Code Playgroud)

由于此自定义控件具有最小大小要求,如果它太小而无法显示整个控件,我希望滚动条显示在包含的面板上:

this.panel1.AutoScroll=true;
Run Code Online (Sandbox Code Playgroud)

这不起作用.我试图使用Anchor属性而不是Dock属性来调整面板大小,但无济于事.

.net user-controls scroll winforms

16
推荐指数
1
解决办法
2万
查看次数

在团队中使用Oracle中的存储过程的工具?

在团队中,您使用哪些工具来开发Oracle存储过程:

  • 要自动"锁定"您正在使用的当前程序,因此团队中的其他任何人都无法对其进行更改,直到您完成为止.
  • 要自动将您在存储过程中所做的更改(在Oracle数据库中)发送到Subversion,CVS,...存储库

谢谢!

sql oracle version-control stored-procedures

12
推荐指数
1
解决办法
6047
查看次数

如何实现分布式信号量?

我有一组有限的资源,我希望在多个进程之间共享,而不是在多个服务器上运行.我想我需要的东西可以称为分布式信号量.

我找到了一个可以调整的旧Perl实现(基于memcached).我还没有完全调查过它.

是否有库/组件/软件已经这样做了?也许算法?故障转移怎么样?

.net distributed semaphore ipc

10
推荐指数
1
解决办法
4775
查看次数

如何在Java中创建面向移动的多平台共享库?

我有一个在BlackBerry上运行的Java应用程序(JDE 4.5).我想将此应用程序移植到Android,并能够同时维护这两个应用程序.我可能还想将此应用程序移植到其他Java平台(J2ME?).

我知道代码的很大一部分必须特定于每个平台(UI和其他东西).但我也觉得很多代码可以(应该)共享(域相关类).

实现这一目标的最佳方法是什么?要避免哪些陷阱?

到目前为止,我已经能够创建一个包含所有共享类的JAR,我已经能够集成到我的BlackBerry应用程序中(使用preverifyrapc).但:

java android blackberry java-me

7
推荐指数
1
解决办法
732
查看次数

如何在WiX 3.0中检查已安装的软件包?

我想检查是否已安装Crystal Reports Basic for Visual Studio 2008作为我自己的安装包的条件.

我在此产品的引导程序描述中找到了这个(C:\ Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports10_5\product.xml):

<InstallChecks>
  <MsiProductCheck Property="CRVSInstalled" Product="{AA467959-A1D6-4F45-90CD-11DC57733F32}"/>
  <MsiProductCheck Property="CRVSRunTimex86Installed" Product="{CE26F10F-C80F-4377-908B-1B7882AE2CE3}"/>
  <MsiProductCheck Property="CRVSRunTimex64Installed" Product="{2BFA9B05-7418-4EDE-A6FC-620427BAAAA3}. "/>
</InstallChecks>
Run Code Online (Sandbox Code Playgroud)

试图在WiX中模仿这种行为,我做了以下事情:

<Property Id="CRVSINSTALLED">
  <ComponentSearch Id="CRVSInstalledSearch" Guid="{AA467959-A1D6-4F45-90CD-11DC57733F32}" />
</Property>
<Property Id="CRVSRUNTIMEX86INSTALLED">
  <ComponentSearch Id="CRVSRunTimex86InstalledSearch" Guid="{CE26F10F-C80F-4377-908B-1B7882AE2CE3}" />
</Property>
<Property Id="CRVSRUNTIMEX64INSTALLED">
  <ComponentSearch Id="CRVSRunTimex64InstalledSearch" Guid="{2BFA9B05-7418-4EDE-A6FC-620427BAAAA3}" />
</Property>
<Condition Message="!(loc.CrystalReportsRequired)">Installed OR CRVSINSTALLED OR CRVSRUNTIMEX86INSTALLED OR CRVSRUNTIMEX64INSTALLED</Condition>
Run Code Online (Sandbox Code Playgroud)

但似乎ComponentSearch正在寻找具有自己的ID的包组件(文件,目录),而不是寻找包本身.

那我该怎么做呢?

wix wix3

5
推荐指数
1
解决办法
6065
查看次数

如何在MSBuild中使用特定的Windows SDK?

我有一个由许多C ++和C#项目组成的大型项目,还有一个MSBuild(3.5)脚本来构建整个程序。该脚本基于VCBuild(C ++项目)和MSBuild(C#项目)任务。它由Continuous Integration服务器定期执行。

我希望能够选择要用于编译的特定Windows SDK(v6.0A,v7.0,v7.1 ...)。由于我的存储库中有很多分支,最终需要使用不同的SDK版本,因此我需要一种在每次编译之前选择正确分支的方法。

在我的计算机上,我已经能够设置SetEnv.cmd在启动MSBuild脚本之前调用正确的批处理脚本。但是,由于直接执行MSBuild脚本,因此该解决方案无法在CI服务器上使用。

您知道SetEnv.cmd在MSBuild下达到等同效果的方法吗?

msbuild winapi compilation

5
推荐指数
1
解决办法
1706
查看次数

如何将CheckBox绑定到可以为空的bool类型的DbColumn?

在Windows窗体(.NET 2.0,Visual Studio 2005 SP1)中:我有一个类型DataSet为type的列System.Boolean,可以为空,默认值为DBNull.我有一个Form,包含CheckBox我想要绑定到先前列值的控件.

  • 我试图Checked通过设计器将属性绑定到列:只有当列的默认值设置为True或时,它才能正常工作False.
  • 我试图CheckState通过设计器将属性绑定到列,并附加我自己的FormatParse事件处理程序,但它们永远不会被调用:

    b.Format+=delegate(object sender, ConvertEventArgs cevent) {
        cevent.Value=DoFormat((CheckState)cevent.Value); // cf. end of the question
    };
    b.Parse+=delegate(object sender, ConvertEventArgs cevent) {
        cevent.Value=DoParse(cevent.Value); // cf. end of the question
    };
    
    Run Code Online (Sandbox Code Playgroud)
  • 我试图Binding在代码中创建一个自定义实例,附加我的事件处理程序并将其添加到CheckBox绑定:事件处理程序仍然永远不会被调用...

    Binding b=new Binding("CheckState", _BindingSource, "MyColumn", false, DataSourceUpdateMode.OnPropertyChanged, DBNull.Value);
    
    Run Code Online (Sandbox Code Playgroud)

作为注释:DBNull只有当来自DataSet(这意味着从未设置过值)时,值才可接受.但是用户应该只能将值设置为TrueFalse通过CheckBox.

作为参考,这里是解析和格式化方法的代码: …

.net data-binding checkbox dataset winforms

4
推荐指数
1
解决办法
1万
查看次数

如何通过.NET中的配置禁用NewRelic

.NETNewRelic代理文档

您还可以在应用程序的配置文件中配置两个设置:应用程序的名称和布尔标志,以启用或禁用代理.

第一个参数很简单并且记录在案:

<appSettings>
  <add key="NewRelic.AppName" value="MyApplicationName" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

但我找不到用于禁用代理的参数的名称.

.net newrelic

4
推荐指数
1
解决办法
1565
查看次数

在TFS2010上设置代码分析时,编译错误不可见

我正在开始使用TFS 2010,我开始尝试设置持续集成.为此,我使用DefaultTemplate.xml配置为Code Analysisset 的默认构建模板()Always.

一切都很好......除非它没有.当构建中出现错误(或测试失败)时,TFS报告中唯一可用的错误如下

无法读取代码分析输出报告.确保目录是可写的(默认是项目输出目录).

仅在没有代码分析时报告原始错误.如果没有错误,则会正确输出代码分析报告.

有任何想法吗?

continuous-integration compilation tfs2010 static-code-analysis

2
推荐指数
1
解决办法
2945
查看次数