【问题标题】:Retrieve one column of data fom Microsoft Access从 Microsoft Access 检索一列数据
【发布时间】:2014-01-11 16:47:41
【问题描述】:

我正在尝试使用访问数据库中的数据填充标签。 但是当我运行程序时,标签消失了。 与数据库的连接作为组合框工作 从中获取数据。这是目前为止的标签代码。

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)  
{         
    string query2 = "SELECT Prijs FROM Klanten WHERE Naam='" + comboBox1.SelectedValue + "'";
    OleDbDataAdapter prijsData = new OleDbDataAdapter(query2, connection);
    DataTable source2 = new DataTable();
    prijsData.Fill(source2);
    Lprijs.Text = source2.ToString();
    Lprijs.Update();
}

【问题讨论】:

  • Lprijs.Text = source2.ToString();不要将完整的数据表绑定到 label.text

标签: c# database ms-access ado.net


【解决方案1】:

您需要从DataTable中选择一行和一列:

Lprijs.Text = source2.Rows[0].Columns[0].ToString();

如果你只想返回第一行的第一列,你可以这样做:

using (var cmd = new OleDbCommand(query2, connection)) {
    Lprijs.Text = cmd.ExecuteScalar().ToString();
}

不需要OleDbDataAdapterDataTableExecuteScalar 返回第一行的第一列。 using 语句会在语句块的末尾自动释放命令,即使发生异常会提前终止语句块。您也应该将连接包含在using 语句中;这确保连接将被关闭和释放。

using (var connection = new OleDbConnection(connectionString)) {
    // TODO:  Prepare commands etc.
    connection.Open();
    // TODO: Execute queries, etc.
}

【讨论】:

    猜你喜欢
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 2017-08-17
    • 2022-07-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2013-05-03
    相关资源
    最近更新 更多