根据组合框选择从MySQL表中选择值?

时间:2019-04-29 18:45:25

标签: c# mysql wpf

我有一个组合框,其中的值是从一个表中填充的。当我从此组合框中选择一个值时,我想从另一个表中显示相应的值。

我尝试用几种不同的方式键入SQL命令,但是它总是给我错误。

当我尝试:

            MySqlCommand serialBox_1 = new MySqlCommand("Select serial_Units from Units where " + stationSelection_1 = "station_Units", connection);

它告诉我分配器的左侧必须是变量,属性或索引器。当我尝试2个等号时,它告诉我无法将布尔值转换为字符串。

这是整个代码块:

 public MainWindow()
        {
            InitializeComponent();


            string connectionString = "SERVER=localhost;DATABASE=dbname; UID=myPC;Password=mypw;"; 

            MySqlConnection connection = new MySqlConnection(connectionString); 

            MySqlCommand stationList = new MySqlCommand("Select stationNumber_stations from stations", connection); 
            connection.Open(); 


            DataTable dt_stations = new DataTable(); 
            dt_stations.Load(stationList.ExecuteReader()); 
            connection.Close(); 

            stationComboBox_1.DataContext = dt_stations;
            stationComboBox_1.ItemsSource = dt_stations.DefaultView;

            string stationSelection_1 = stationComboBox_1.Text;


            MySqlCommand serialBox_1 = new MySqlCommand("Select serial_Units from Units where " + stationSelection_1 = "station_Units", connection);

第一个用于下拉列表的命令可以正常工作,但是选择串行的命令却不能。

我想做的事的例子:

表格:站点和单位

“站”列:站号,IP地址,MAC

单位列:站号,状态,序列号

组合框选择:5号电台

要显示的文本:#5站中设备的序列号。

我希望能够在下拉菜单中单击“站号”,并在文本框中显示“序列号”。

1 个答案:

答案 0 :(得分:1)

您的sql查询略有错误。您应该在SQL查询的字符串的开头和结尾使用',因为MySQL不知道它何时是字符串以及MySQL-Table的另一个具有相同名称的字段。您做错的第二件事不是将=放入查询中,而是将+放入stationSelection_1之后的

MySqlCommand serialBox_1 = new MySqlCommand("Select serial_Units from Units where " + stationSelection_1 = "station_Units", connection);

应该是

MySqlCommand serialBox_1 = new MySqlCommand("Select serial_Units from Units where station_Units='" + stationSelection_1 + "'", connection);