当前位置: 首页 > 知识库问答 >
问题:

visual Studio-Outlook addin-Fill Combobox从SQL数据库和字符串值为什么会这样返回?

楚俊杰
2023-03-14

我正在用MS Visual Studio创建一个outlook加载项。从功能区中,用户单击一个按钮,打开一个winform(称为NewEntry),其中包含一些组合框,我想用SQL数据库中的数据填充这些组合框。

为了填充单个组合框(名为公司),我的代码是:

    public NewEntry()
    {
        InitializeComponent();
        DataTable dt = new DataTable();

        cnn.Open();
        SqlCommand cmd = new SqlCommand("SELECT Name FROM PrivateContractors", cnn);
        using (SqlDataAdapter da = new SqlDataAdapter(cmd))
        {
            da.Fill(dt);
        }
        cmd.Dispose();
        cnn.Close();
        Companies.DataSource = dt;
        try
        {
            foreach (DataRow dr in dt.Rows)
            {
                Companies.Items.Add(Convert.ToString(dr["name"])); //this is line 67
            }
        }
        catch (Exception e)
        {
            MessageBox.Show(Convert.ToString(e));
        }
    }

这是异常消息:

当窗体打开时,我的 ComboBox 填充了预期数量的字段,但它们都命名为 System.Data.DataRowView

当我删除foreach语句时,我没有得到异常,但组合框的值仍然是System.Data.DataRowView

有人知道我哪里出错了,我能做些什么来纠正这个错误吗?

共有1个答案

洪楷
2023-03-14

此处的解决方案:

        cnn.Open();
        SqlCommand cmd = new SqlCommand("SELECT Name FROM PrivateContractors", cnn);
        SqlDataReader dataReader = cmd.ExecuteReader();

        while (dataReader.Read())
        {
            Companies.Items.Add(Convert.ToString(dataReader["Name"]));
        }
        dataReader.Close();
        cmd.Dispose();
        cnn.Close();
    }
 类似资料:
  • 问题内容: 我将一个广泛的表单插入到SQL数据库中,然后从管理页面中请求所有数据,并将其重新插入到管理页面上的表单中。在最初插入数据库的过程中,此特定的下拉列表(就像其他列表一样)正在插入选定的数据。但是,当我进入数据库时​​,仅此特定单元格在插入所选值后将获得3到4个空白空间。这会导致布尔比较在尝试重新插入管理员表单时以false做出响应。即(“ Primary” ==“ Primary”)=

  • 问题内容: 这是有效的,并返回JavaScript中的字符串 为什么?这是怎么回事 问题答案: 如果我们将其拆分,则混乱等于: 在JavaScript中,确实是这样。将某物转换为数字,在这种情况下,它将降为或(请参见下面的规范详细信息)。 因此,我们可以简化它(优先于): 因为意思是:从中获取第一个元素,所以确实: 返回内部数组()。由于引用,说错了,但是让我们调用内部数组以避免错误的表示法。 在

  • 问题内容: 有人可以解释为什么跟随返回“ cc”吗? 有人告诉我,因为它将每个匹配项都放入了group(1)中,所以最后一个匹配项是’cc’。真的吗? 那么下面如何解释? 问题答案: 重复捕获组:组号保持不变 由定义的组是组1。量化器重复它。每当引擎能够重复该组(匹配两个字符)时,组1就会被覆盖。 引擎开始匹配时,捕获到组1 然后捕获到组1 然后捕获到组1。 当您检查组1时,引擎将返回。所有其他捕

  • 问题内容: 我有以下课程: 这是编译结果; 为什么我的输出中包含数字? 问题答案: 在第二种情况下,它将两个字符(G-71和o-111)的unicode码相加并打印总和。这是因为被视为数字类型,因此在这种情况下,运算符是通常的求和。

  • 问题内容: 我试着用指数拟合一些数据已经有一段时间了scipy.optimize.curve\u fit曲线拟合但我真的有困难。我真的看不见有什么理由不起作用,但它只是产生了一条海峡线,不知道 为什么? 任何帮助都将不胜感激 问题答案: 数值算法往往更好地工作时,没有饲料非常小(或 (大)数字。 在本例中,图表显示数据的x和y值非常小。如果 如果缩放它们,拟合效果会更好: Note that af

  • 问题内容: 在空字符串上分割将返回大小为1的数组: 考虑这返回空数组: 请解释 :) 问题答案: 出于同样的原因 和 将返回一个大小为2的数组。将第一个匹配之前的所有内容作为第一个元素返回。