65.9K
CodeProject 正在变化。 阅读更多。
Home

一个非常简单的 Oracle 查询工具

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.81/5 (11投票s)

2007年7月29日

CPOL

3分钟阅读

viewsIcon

50370

downloadIcon

1111

这是一个非常简单的工具,用于查询 Oracle XE 数据库

引言

之前在开发一个 Oracle XE 项目时,我开发了一个简单的查询工具,允许我执行 SQL 语句并在 DataGridView 控件中查看结果。Oracle XE 提供的 Web 应用程序 Oracle APEX 已经提供了此功能,它允许我输入 SQL 语句来执行。但是,它没有列出表结构或表数据,这本可以帮助我构建 SQL 语句。例如,如果我想从表中检索特定列,我需要知道列的名称。有时,我会忘记列的名称或拼写方式,因此我必须进入对象浏览器并复制列名。SQL 命令界面不列出表或显示表结构。它只允许您输入 SQL 语句,如果该语句是 SELECT 查询,它将显示查询的结果。

有时我需要来自多个表的列名,以构建 SQL JOIN 语句。因此,我开发了一个简单的查询应用程序。该应用程序以以下方式工作。登录后,当单击“列出表”按钮时,会填充 ListView 控件,显示属于已登录用户的表。通过从 ListView 控件中选择一个表名,您可以查看该表的结构。通过单击相应的按钮,您可以在结构视图或数据视图之间切换。结构视图将显示每列的数据类型。通过切换到数据视图,您可以查看存储在每列中的数据。在构建 SQL 语句时,您可以轻松查看表结构或数据。我还包括了列出 VIEW 的功能。您可以查看 VIEW 的结构以及 VIEW 将生成的数据。

以下是几个工作程序的屏幕截图。图 1.1 显示了登录表单。此表单要求您输入数据源名称、用户 ID 和密码。

Screenshot - img1.jpg

图 1.1

登录后,您将看到以下表单(图 1.2)。

Screenshot - img2.jpg

图 1.2

Screenshot - img3.jpg

图 1.3

Screenshot - img4.jpg

图 1.4

代码

我已将数据库连接代码与 UI 代码分开。orcConnection 类包含一个 Connect() 方法,该方法连接到数据库。下面的列表 1.1 显示了 Connect() 方法。

列表 1.1

public static string Connect(string strDataSource, string strUserId, string strPassword)
{
string strConResult = "";

string orcConString = "Data Source=" + strDataSource + ";User Id=" + 
			strUserId + ";Password=" + strPassword + ";";
orcCon = new OracleConnection(orcConString);

try
{
orcCon.Open();
}
catch (OracleException orcEx)
{
strConResult = "An error occurred: " + orcEx.Message;
}

return strConResult;
} 

Connect() 方法接受三个参数,一个数据源、用户 ID 和密码,它们的类型都是 string。我使用了 try/catch 块来捕获任何错误。如果产生任何错误,则错误消息将返回到调用方法,并在消息框中显示。

更新

以前没有办法执行 INSERT/UPDATE/DELETE 语句,但感谢 No_Namer 和 dadox 的评论,查询工具现在会在 INSERT/DELETE/UPDATE 语句成功时向用户返回消息。它还会产生在构造 SQL 语句时可能发生的任何错误。

© . All rights reserved.