gpt4 book ai didi

c# - 如何使用可选列进行选择?

转载 作者:行者123 更新时间:2023-11-30 19:45:53 26 4
gpt4 key购买 nike

我目前正在开发一个 c# 应用程序,该应用程序从用户指定的访问 (.mdb) 数据库中获取大量数据,并使用该数据执行大量操作。我最近遇到的一个问题是,某些数据库缺少所有其他数据库中都存在的列。

当数据库中不存在列时,如何在数据库上进行选择,但优雅地失败(在数据中抛出 null 或其他东西)?

目前,我的代码看起来像这样:

OleDbConnection aConnection = new 
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName);

string sqlQuery = "SELECT [Table1].[Index], [Table1].[Optional Info],
[Table2].[Other Info], ....
FROM [Table1] INNER JOIN [Table2] ON [Table1].[Index]=[Table2].[Index]
ORDER BY [Table1].[Index]";

OleDbCommand aCommand = new OleDbCommand(sqlQuery, aConnection);
OleDbDataReader aReader = aCommand.ExecuteReader();

(proceed to read data in line by line, using fabulous magic numbers)

我认为很明显这是我第一次接触数据库。只要它有效,我并不过分担心,但它已停止为不包含 [Table1].[Optional Info] 列的数据库工作。它抛出一个 OleDbException: "No value given for an or more required parameters."

如有任何帮助,我们将不胜感激。

最佳答案

我可能遗漏了一些东西但是......

SELECT Table1.*, Table2.otherInfo
FROM ...

应该这样做,让客户端处理结果集,但有一个重要警告:无法从上面的 Table1排除一列。

(我不知道有任何方法可以“动态塑造”——从调用者的角度来看——除了上面列列表中的 * 之外的 SELECT。)

快乐编码。

关于c# - 如何使用可选列进行选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9622917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com