我是一名 Delphi 开发人员。对于 Delphi ,我几乎精通它的每一个部分。然而对于 C #,我一无所知。不过,我明白在未来 C #将是非常重要的。所以,这是我第一次尝试使用 C #并试图通过不断学习精通它。希望你也能精通它。
我使用的是 Borland C # Builder 个人版。我已经使用本地数据库文件格式 Paradox 设计了一个简单的 EMP 表。关于如何设计表格这些浅显的知识,我不打算加以解释,希望你们以前就学习过这些知识。

设计好表格后,打开 C # Builder ,单击 File - New - C# Application ,然后给你的工程命名并且指定存储路径。

完成以后你将得到如下的结果:

如果你还没有安装 ODBC 组件,单击 Component - Installed .Net components ,将会打开下面的窗体,确保 ODBC 组件被选中了。

如果你还没有改变 C # Builder 的布局,你将会在屏幕的右下方看到工具箱。在工具箱下面的编辑框中,当你输入组件的名称时, C # Builder 会自动的将这些组件筛选出。起初我并不是太喜欢这个功能,不过它看起来还不错。特别是在 Delphi 中有将近 30 个或者更多的组件页,在 Delphi 里使用这个功能会大大加速开发的进度。我想,如果 Delphi 如果实现了这个功能我肯定会更新我的 Delphi 。

接下来点击 ODBC connection ( odbcConnection ),然后点击 Form ,一个包含 odbcConnection 组件的区域就会出现在 Form 下方。据我猜想,所有的非可视化组件都会放置在这个区域。放下选中的组件将清除掉我刚才输入的查找文字(这似乎不太好!),因此我必须再次查找 odbc ,然后单击 odbcCommand ,并把它放置到刚才出现的区域中。当这个区域出现以后,你可以像在 Form 中放置组件那样将组件放置在这个区域。

希望你能喜欢这些图片,我还会放置更多的 … J
单击 ODBCConnection1 ,然后选中 connectionstring 。你一定已经猜到了,连接字符串将放在这个地方。如果你使用 BDE 和直接访问组件,你几乎不用去理 ODBC (不错,我有一点点喜欢);不过这使得我不能确定这些连接字符串到底是些什么。虽然 ADO 和 ODBC 的连接字符串十分的相似,不过他们并不是完全一致的。关于连接字符串有一个很好的参考资料: http://www.connectionstrings.com/ 。
现在我需要使用 Paradox !好的,我们在 ODBC 数据源管理器中创建一个 DSN ,关于如何创建我不准备解释。我把我的 DSN 命名为 "ARTICLE" 。那么,连接字符串将是这样的: "DSN=ARTICLE;Uid=username;Pwd=;" 。

现在,我们转向 GUI 设计。我希望我的程序能够动态的调整大小,因此我在 Form 上放置了一个 Panel 和一个 ListBox ,如果你不喜欢通过输入文字来查找他们,你可以在 Windows Form 这一类中找到他们。最后还要添加一个 Button 。
在 C #中,你可以使用一个称为停靠( Dock )的特性,对应于 Delphi 中的定位( Align )属性。这是相当棒的特性,我的每个程序都会使用到它。对于 Panel ,我选择了 upper (相当于 Delphi 中的 alTop )将它放在 Form 的最上方;对于 ListBox ,我选择了 center (相当于 Delphi 中的 alClient )让它占据 Form 的其余所有地方。

下面就是调整好 GUI 的程序界面:

现在单击 odbcCommand1 ,双击对象观察器中的 connect , odbcConnection1 将会被自动选中,然后单击 commandtext ,输入 "select * from emp" 。
现在我们该添加一些代码了。双击 Form 中的 Button 。小知识:如同在 Delphi 中一样,你可以使用 F12 在代码和窗体之间切换。
在代码中我们需要告诉单元我们使用了一些 odbc 程序调用,所以我们需要在其他的 using 语句下添加 "using System.Data.Odbc;" 。需要注意的是, C #是大小写敏感的。

那些内建的代码将会帮你很大的忙。请记住,即使有些过程不需要任何参数,但是当调用他们的时候也需要在最后加上()。而且对于字符串,你应该使用 ” 而不是 ’ 。对于这些调用一无所知,我们的代码应该怎样写呢?好的,先让我们清除掉 ListBox 中的字符,打开数据库连接,然后我们就可以使用一个 reader 从数据表里读出数据。我必须承认对于 reader 我知道的不是太多,但是我相信我马上会理解 reader 。坚持下去 … ,好的,让我们读出这些数据并把他们以一定的格式加入到 ListBox 中,可以参考如下的代码:

上面的代码中你可能已经发现会有一些注释,他们来自于帮助中的一个例程。懂得如何获得帮助将会有助于你成功地掌握 C #。那么,如何做呢?好的,选中那些你不太明白的项目,然后按下 F1 。例如,我选中了组件 ODBCCommand1 并且按下了 F1 ,将会出现如下的窗体:

选择 odbcCommand 类,接着你会看到所有你希望知道的:关于这个类及其属性和方法的信息。很快,我就找到 reader 正是我的这个程序所需要的。

然后单击 F9 就会运行这个程序,接着按下 Button ,你将得到如下的结果:

我希望你能喜欢阅读这篇文章,正如我写这篇文章的心情一样。毫无疑问,我将继续使用 C #。对于从其他语言转而学习 C #的程序员来说,这将是小菜一碟。如果你已经知道了如何使用帮助,那么你已经掌握了最重要的知识。我将很高兴能够听到大家对于这篇文章的评论,无论好坏,我都希望知道。如果有任何关于这篇文章的评论,可以发到 [email protected] 。
译注:本文的源码可从 http://www.larsson.tc/develop/csharp/simpledbapp/simpledbapp.zip 获得。