C# 在winform c中将combobox所选项作为参数值传递给类函数

C# 在winform c中将combobox所选项作为参数值传递给类函数,c#,winforms,combobox,C#,Winforms,Combobox,我有一个组合框,允许用户选择月份和年份: 当我点击check按钮时,程序将把月份和年份发送到dbConnect。Select class在那里程序执行Select查询 private void cmdSend_Click(object sender, System.EventArgs e) { List<string>[] list; list = dbConnect.Select(month_list.SelectedItem.ToString(),year_lis

我有一个组合框,允许用户选择月份和年份:

当我点击check按钮时,程序将把月份和年份发送到dbConnect。Select class在那里程序执行Select查询

private void cmdSend_Click(object sender, System.EventArgs e)
{
    List<string>[] list;
    list = dbConnect.Select(month_list.SelectedItem.ToString(),year_list.SelectedItem.ToString());

    //submit the value month and year to dbConnect.select class.
}  
确实有价值。它假定将值传递给dbConnect.select类作为参数month和year

public List<string>[] Select(string month,string year)
{
    string query = "SELECT * FROM page_counter WHERE month = @month AND year = @year;";
    //some operations
}  
但是当我开始调试时,我发现public List[]Selectstring month,string year没有任何值


如果我的代码有错误,有人能纠正我吗?

SelectedItem应该来自您的组合框,而不是列表

   private void cmdSend_Click(object sender, System.EventArgs e)
    {
        List<string>[] list;
        list = dbConnect.Select(cmdSendMonth.SelectedItem.ToString(),cmbYear.SelectedItem.ToString());

        //submit the value month and year to dbConnect.select class.
    } 

按如下方式修改代码,并执行相应的操作

private void cmdSend_Click(object sender, System.EventArgs e)
{   
MessageBox.show(month_list.SelectedItem.ToString());
MessageBox.show(month_list.SelectedText.ToString());
MessageBox.show(month_list.SelectedValue.ToString());

MessageBox.show(year_list.SelectedItem.ToString());
MessageBox.show(year_list.SelectedText.ToString());
MessageBox.show(year_list.SelectedValue.ToString());
}  

我想现在你可以明白使用什么价值了

谢谢,但我认为这不是问题所在。因为当我按行调试时,列表中确实包含值。仅在公共列表[]中选择字符串月份,字符串年份没有值。好像没有参数传递给类。dbConnect中有什么?dbConnect是连接到数据库的类。请澄清,您当前的代码有什么问题。功能选择的月和年参数是否为空?如果是这种情况,则原因可能在组合框中。您需要显示它是如何设置和填充的。如何在combobox中绑定列表?谢谢,但是当我测试代码时,我选择2013年1月和2013年,然后单击cmdSend_单击按钮,列表实际上保存了该值。但是当它调用dbConnect.Select类时,如果发现列表[]Selectstring month,string year不包含任何值。因此,我假设这个类没有从cmdSend\u Click中获取参数。你知道为什么吗?那么DBconnect是你的类,select是DBconnect类中的一个方法,你可以尝试将一个值编码为DBconnect.select1,2;并确保1和2在select方法中达到,并通知我结果,尝试通过dbconnect这样的值。select1,2;但是仍然发现select类为空,没有任何值。string query=select*FROM page_counter,其中month=+month+和year=+year+;;或者修改我上面的问题中的查询初始化代码是我的类公共列表[]选择字符串月份,字符串年份。我将值传递给类的方法正确吗?
private void cmdSend_Click(object sender, System.EventArgs e)
{   
MessageBox.show(month_list.SelectedItem.ToString());
MessageBox.show(month_list.SelectedText.ToString());
MessageBox.show(month_list.SelectedValue.ToString());

MessageBox.show(year_list.SelectedItem.ToString());
MessageBox.show(year_list.SelectedText.ToString());
MessageBox.show(year_list.SelectedValue.ToString());
}