c# - 在 C# 中将 DataTable 记录绑定(bind)或拉取到 MessageBox 文本

标签 c# datatable messagebox

我正在尝试让消息框文本提供数据表结果。下面是我到目前为止编写的代码片段:

String mystring = comboBox1.Text; if (mystring.Substring(0, 12) == ("公司名称")) { textBox2.Text = mystring.Substring(13); ADOCon.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Name\Desktop\SmallBizDb.mdb"; ADOCon.Open();

            OleDbCommandBuilder CBuilder = new OleDbCommandBuilder(DAdapter);
            DAdapter = new OleDbDataAdapter("Select Companies.Company_Name From Companies Where Companies.Company_Name = '" + textBox2.Text + "'", ADOCon);

            DAdapter.Fill(DTable);
            MessageBox.Show(DTable.ToString());
            ADOCon.Close();
            ADOCon.Dispose();
        }
        else

基本上,例如,如果最终用户键入“公司名称-公司一”,我希望出现一个消息框,说明来自 sql 查询的数据表 (DTable) 信息。目前,我有“messagebox.Show(DTable.ToString());”,这是行不通的。此外,我看到的所有其他示例都使用行索引,例如“.Rows[0]”,我不能使用它,因为不涉及行号,而是来自数据中的 sql“where”语句的列名和记录名适配器。

这里有很多问题,所以我的主要问题是如何转换我的数据结果,以便它们显示在消息框中。

谢谢,

数据流媒体

最佳答案

我不确定你想要什么,但如果你想在你的数据表中显示值,你应该能够从中获取数据并以你想要的任何顺序显示它。我想你想做类似的事情

        System.Text.StringBuilder b = new System.Text.StringBuilder();
        foreach (System.Data.DataRow r in dt.Rows)
        {
            foreach (System.Data.DataColumn c in dt.Columns)
            {
                b.Append(c.ColumnName.ToString() + ":" + r[c.ColumnName].ToString());
            }
        }
        MessageBox.Show(b.ToString());

这将遍历返回的所有行,并为每一行(结果中的每个公司)添加数据表的 ColumnName:ActualValue 形式的详细信息。

当然,我不确定像这样在消息框中显示未知数量的数据是个好主意,这只是您可以做到的一种方式。

关于c# - 在 C# 中将 DataTable 记录绑定(bind)或拉取到 MessageBox 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/909024/

相关文章:

c# - 如何修改 ASP.NET MVC 静态文件根目录

C# 行中每一列的 KeyValue

c# - 对 ADO.NET 数据表进行排序

javascript - jquery datatable 将数据属性绑定(bind)到显示的内容

c# - Winform 消息框,如何禁用 C# 中的 YESNO 选项

c# - 上传大量用户的大文件的最佳方式是什么?

c# - 从代码运行 Sitecore Powershell 脚本

.net - ADO .NET - 将 DataTable 添加到多个 DataSet

c# - 在 C# 中编写当单击消息框上的 X 时的代码

python - 在 Python 中为 Mac 创建一个 MessageBox?