SQL查询不能在c#中得到正确的代码,我不知道哪里出了问题

本文关键字:我不知道 代码 问题 不能 查询 SQL | 更新日期: 2023-09-27 18:10:42

我的数据库中有四个表。

  • 汽车表(tbl_Auto)
  • 车辆类型(tbl_fahrzeugtype)
  • 汽车品牌(tbl_market)
  • 汽车模型(tbl_model)

和一个带有3个组合框的c#程序。从第一个组合框中,我选择了车型,从第二汽车品牌,从第三汽车型号。

它应该是这样工作的:

  1. 如果我从第一个组合框中选择了车辆类型(轿跑车),
  2. 第二个中的
  3. 应该只出现在我的数据库中具有此类车型的品牌(例如BMW),然后
  4. 第三条中应该出现轿跑车类型的宝马车型(例如M5)。

当我在我的数据库查询工作中使用SQL时,我猜我的c#代码有问题。从下面的代码,第一个函数工作,我得到所有车辆类型的组合框,但第二个没有。如果我在SQL服务器上运行查询,它的工作,所以我认为问题是它没有正确阅读第一个组合框。问题是我得到了空白的第二个组合框。

public partial class Mieten : Window
{
    public Mieten()
    {
        InitializeComponent();
        fill_comboFtyp();
        fill_comboMarke();
    }
    public void fill_comboFtyp()
    {
            string connString = "Data Source= DADDO_PC''SQL2012;Integrated Security=True;Initial Catalog= ITIBB_G1_C";
            SqlConnection conn = new SqlConnection(connString);
            conn.Open();
            string anfrage = "Select FTypBeschreibung From tbl_Fahrzeugtyp";
            SqlCommand comm = new SqlCommand(anfrage, conn);
            SqlDataReader dr = comm.ExecuteReader();
            while (dr.Read())
            {
                string fTyp = dr.GetString(0);
                fahrzeugtyp.Items.Add(fTyp);
            }
            conn.Close();
        }
        public void fill_comboMarke()
        {
            string connString = "Data Source= DADDO_PC''SQL2012;Integrated Security=True;Initial Catalog= ITIBB_G1_C";
            SqlConnection conn = new SqlConnection(connString);
            conn.Open();
            string anfrage = "Select Markenname From tbl_Marke join tbl_Auto on tbl_Marke.Marken_ID =tbl_Auto.Marken_ID join tbl_Fahrzeugtyp on tbl_Fahrzeugtyp.Fahrzeugtyp_ID=tbl_Auto.Fahrzeugtyp_ID where tbl_Fahrzeugtyp.FTypBeschreibung='"+fahrzeugtyp.Text+"'";
            SqlCommand comm = new SqlCommand(anfrage, conn);
            SqlDataReader dr = comm.ExecuteReader();
            while (dr.Read())
            {
                string markenname = dr.GetString(0);
                marke.Items.Add(markenname);
            }
            conn.Close();

SQL查询不能在c#中得到正确的代码,我不知道哪里出了问题

您应该有FirstComboBox_OnSelectedIndexChanged()来运行一个SQL查询,查找所有具有vehicle_type = FirstComboBox.Value的品牌