我有一个组合框,其中的值是从一个表中填充的。当我从此组合框中选择一个值时,我想从另一个表中显示相应的值。
我尝试用几种不同的方式键入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站中设备的序列号。
我希望能够在下拉菜单中单击“站号”,并在文本框中显示“序列号”。
答案 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);