将所选项目导出到SQL数据库

时间:2012-11-09 13:21:49

标签: c# sql-server

在我尝试导出列表中的所选项目时,我已经知道我知道列表中某个项目的位置,但我无法将该项目位置的文本转换为变量。

if (CustomerListbox.SelectedIndex > -1)
{
    for (int i = 0; i < CustomerListbox.GetSelectedIndices().Count(); i++)
    {
        SqlConnection sqlConn = Connection.GetConnection();
        SqlCommand sqlCmd = new SqlCommand();
        sqlCmd.Connection = sqlConn;
        {
            ListItem li = new ListItem();
            li.Value = Convert.ToString(CustomerListbox.GetSelectedIndices().GetValue(i)); //Determines position within listbox
            li.Text = Convert.ToString(CustomerListbox.Items.FindByValue(li.Value));
            //^^^some magic line of code to do li.text = Items.somethingselected@position5.Value
            sqlCmd.CommandText = "ExportCustomers";
            sqlCmd.CommandType = CommandType.StoredProcedure;
            sqlCmd.Parameters.AddWithValue("myquery", "insert into CustomerSelect(Customers) values('" + li.Text + "')");

        }
        try
        {
            sqlConn.Open();
            sqlCmd.ExecuteNonQuery();
        }
        catch (Exception e2)
        {
            throw e2;
        }
        sqlConn.Close();
    }        
}

1 个答案:

答案 0 :(得分:3)

试试这个:

if (CustomerListbox.SelectedIndex > -1)
{
    foreach(ListItem litem in CustomerListbox.Items)
    {
        if (litem.Selected == True)
        {
            using(SqlConnection sqlConn = Connection.GetConnection())
            {
                using(SqlCommand sqlCmd = new SqlCommand())
                {   
                    sqlCmd.Connection = sqlConn;
                    ListItem li = new ListItem();

                    li.Value = litem.Value; //Determines position within listbox
                    li.Text = litem.Text;

                    sqlCmd.CommandText = "ExportCustomers";
                    sqlCmd.CommandType = CommandType.StoredProcedure;
                    sqlCmd.Parameters.AddWithValue("myquery", "insert into CustomerSelect(Customers) values('" + li.Text + "')");

                    sqlConn.Open();
                    sqlCmd.ExecuteNonQuery();
                }
            }
        }       
    }
}