簡體   English   中英

如何使用C#從TextBox中的Access數據庫中獲取數據

[英]How to fetch data from access database in a textBox using C#

我有一個數據庫,在其中創建了一個表HUGO_BOSS 其列為[brand name][stock quantity][retail price] ,其入門代碼為[Brand name] 我想用數據庫中存在的庫存數量值填充Windows窗體中的文本框。 我嘗試了以下代碼,但它給出了運行時錯誤

連接未關閉,連接狀態為打開。

if (comboBox2.Text == "HUGO BOSS")
{
    try
    {
        OleDbCommand cmd = con.CreateCommand();
        cmd.CommandText = "Select [Stock quantity] as stockquantity from HUGO_BOSS WHERE [Brand name]=@name";
        cmd.Parameters.AddWithValue("@name", comboBox3.SelectedItem);
        con.Open();
        OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.SingleResult);
        if (dr.Read())
        {
            textBox7.Text = dr["stockquantity"].ToString();
        }
    }
    finally { con.Close(); }
}

還有一件事,在這里我將通過使用combobox3選擇主鍵

您似乎正在嘗試重用已經打開的數據庫連接。

您可以嘗試在打開連接之前測試連接狀態:

OleDbCommand cmd = con.CreateCommand();
cmd.CommandText = "Select [Stock quantity] as stockquantity from HUGO_BOSS WHERE [Brand name]=@name";
cmd.Parameters.AddWithValue("@name", comboBox3.SelectedItem);
if (con.State == ConnectionState.Closed)
{
    con.Open();
}
OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.SingleResult);
if (dr.Read())
{
    textBox7.Text = dr["stockquantity"].ToString();
}

另外,您可以在每次需要執行新命令時創建一個新連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM