【问题标题】:How to query 400 System and use results as DataSource for ListView Control?如何查询 400 系统并将结果用作 ListView 控件的数据源?
【发布时间】:2013-11-24 19:02:30
【问题描述】:

我正在开发一个简单的 C# Windows 窗体应用程序。有人可以为我提供以下示例:

  1. 打开与 AS400 系统的连接
  2. 使用字符串查询打开的连接。
  3. 以某种方式存储查询结果。
  4. 将存储的结果用作 ListView 控件的数据源

我在 ODBC 和 ADO 方法之间没有偏好 1 方式或其他方式(也不知道区别)来实现这一点,但我目前的努力正在急剧失败。对于任何感兴趣的人,Here 是我当前的代码,它似乎在某处缺少重要步骤,因此我正在寻找示例。

非常感谢任何帮助!

编辑:

想通了:

 string connString = "DRIVER=Client Access ODBC Driver (32-bit); SYSTEM=XX.XX.X.XX; UID=XXXX; PWD=XXXX";

            OdbcConnection conn = new OdbcConnection();
            conn.ConnectionString = connString;
            OdbcCommand cmd = new OdbcCommand(query, conn);
            conn.Open();
            OdbcDataReader dr = cmd.ExecuteReader();

            if (!dr.HasRows)
            {
                throw new Exception("No records found.");
            }

            Int16 x = 0;
            while (dr.Read())
            {
                ....
            }

【问题讨论】:

    标签: c# winforms listview database-connection db2-400


    【解决方案1】:

    【讨论】:

    • 我已经查看了这些链接,但对我所追求的没有任何帮助(除了解释 ODBC 与 OleDb)。
    • 您是在尝试连接到 DB2 还是 IMS?对于 DB2,IBM 有 dll 可用于连接 DB2 数据库,如果您使用 IMS,则必须使用 Queue 连接在 IMS 上触发事务并将其取回,需要付出很多努力
    • 这两个听起来都非常极端。我正在寻找使用 ODBC 或可能的 ADO 来连接、查询、来源、关闭。
    • 不确定我们是否可以使用 ADO 或 ODBC 做到这一点,如果您有可能的解决方案,请分享
    • 我想出了如何执行 ODBC,并在上面的 EDIT 中发布。
    【解决方案2】:

    对于 C#,我认为您会想要使用 .NET Data Provider in IBM i Access for Windows,为您的 C# 程序提供最高级别的功能。当然,如果您愿意,您也可以直接使用ADO or ODBC

    无论如何,您可能应该注意connection settings 中提供的选项。您的系统管理员可能有具体建议,但通常最好使用system naming,以使用库列表(模式搜索路径)的灵活性。如果它们是最新的 v7.1 操作系统更新,则系统命名不需要采用 '/' 语法。

    【讨论】:

      猜你喜欢
      • 2014-06-13
      • 1970-01-01
      • 2020-01-25
      • 2012-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多