如图所示,我已经实现了把左边listBox1的课程 转放到 右边listBox2 里面!但是如何吧数据放到数据库无法实现!我想按一下 “确定添加” 就吧选择好的数据放到数据库,而且下次再选择年级的时候,显示的数据是我上次选择好的!  目前思路混乱,帮助一下!如下是我已经实现的功能的代码:
namespace 学生系统_j_3版
{
    public partial class 设置年级课程 : Form
    {
        string abc = "";
        string cba = "";
        public 设置年级课程()
        {
            InitializeComponent();
        }        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if  (comboBox1.SelectedIndex == 0)
            {
                listBox1.Items.Clear();
                listBox1.Items.Add("英语");listBox1.Items.Add("医药");listBox1.Items.Add("C++");                        
            }            if (comboBox1.SelectedIndex == 1)
            {
                listBox1.Items.Clear();
                listBox1.Items.Add("物理");    listBox1.Items.Add("化学");   listBox1.Items.Add("神力");                    
            }            
            if (comboBox1.SelectedIndex == 2)
            {
                listBox1.Items.Clear();
                listBox1.Items.Add("语文");listBox1.Items.Add("克隆"); listBox1.Items.Add("心理");               
            }
            if (comboBox1.SelectedIndex == 3)
            {
                listBox1.Items.Clear();
                listBox1.Items.Add("机械"); listBox1.Items.Add("物攻"); listBox1.Items.Add("社会");
            }
        }
/*----------------------------增加----------------------------------------------------------*/
        private void listBox1_Click(object sender, EventArgs e)
        {
            abc = listBox1.SelectedItem.ToString();
        }        private void 添加_Click(object sender, EventArgs e)
        {
            listBox2.Items.Add(abc );
            listBox1.Items.RemoveAt (listBox1.SelectedIndex);
        }
//*-------------------------移除-------------------------------------------------------------------------------*/
        private void listBox2_Click(object sender, EventArgs e)
        {
            cba  = listBox2.SelectedItem.ToString();
        }        private void 移除_Click(object sender, EventArgs e)
        {
            listBox1.Items.Add(cba );
            listBox2.Items.RemoveAt(listBox2.SelectedIndex);
        }
        /********------------------------------------------------------------------------------------------************/    }
}

解决方案 »

  1.   

    想插入数据库,你最少得先连接数据库吧,如果你不会,你就先去看看msdn,google点资料
      

  2.   

    还是听听上面几位大哥的建议把
    去学学了解下c#的数据库操作,可以先从简单的access来
    界面上list中的所有课程和已有课程从数据库中读取出来
    在确认添加的按钮事件中将已有课程中在数据添加/更新进数据库
      

  3.   

    string constr = ";Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=学生管理系统;Data Source=OEM-20120322CRE";
                SqlConnection n = new SqlConnection(constr);
                n.Open();
                string cmdstr = "select* from 设置班级信息";
    这是我的数据库的链接了
      

  4.   

        if (comboBox1.SelectedIndex == 3)
                {
                    listBox1.Items.Clear();
                    listBox1.Items.Add("机械"); listBox1.Items.Add("物攻"); listBox1.Items.Add("社会");
                }对红色部分表示 哪个学校的科目叫这个的
      

  5.   

    可以再“确定添加”按钮的click事件中写操作数据库的代码,然后“下次再选择年级的时候”将相应年级的数据从数据库中读出来即可!
    数据库操作可以访问
    http://blog.sina.com.cn/s/blog_8c32cdb4010102qp.html
      

  6.   

    整个代码如下:/// <summary>
            /// 点击添加按钮
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_Add_Click(object sender, EventArgs e)
            {
                int grade, course;            if(cmb_Group.SelectedValue==null||lst_SelectCourse.Items.Count<=0||lst_SelectCourse.SelectedItem==null)
                    return;
                grade = (int)cmb_Group.SelectedValue;
                course = allCourse.Where(c => c.Value == lst_SelectCourse.SelectedItem.ToString()).FirstOrDefault().Key ;            if (PubData.SelectCourse(grade, course))
                    MessageBox.Show("增加成功!");
            }
    /// <summary>
            /// 插入数据
            /// </summary>
            /// <param name="grade"></param>
            /// <param name="course"></param>
            public static bool SelectCourse(int grade,int course)
            {
                bool result = false;
                int id=GetID();            string sql = string.Format("insert into student(ID,Grade,Course) values({0},{1},{2})", id, grade, course);            try
                {
                    using (SqlConnection conn = new SqlConnection(connectionString))
                    {
                        conn.Open();
                        SqlCommand cmd = new SqlCommand(sql, conn);                    result = cmd.ExecuteNonQuery() > 0;
                    }
                }
                catch (SqlException ex)
                {
                    throw new Exception(ex.Message);
                }            return result;
            }/// <summary>
            /// 得到ID
            /// </summary>
            /// <returns></returns>
            public static int GetID()
            {
                int id = 0;
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand("GetID", conn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add(new SqlParameter("@MaxID", SqlDbType.Int,0,ParameterDirection.Output,false,0,0,"ID",DataRowVersion.Default,null));                cmd.ExecuteNonQuery();
                    object obj = cmd.Parameters["@MaxID"].Value;
                    if (obj == null || obj.ToString() == string.Empty)
                        id = 1001;
                    else
                        id = (int)obj;
                }            return id;
            }
    用到了一个存储过程取得数据库中已选择书籍记录的最大ID+1create procedure GetID
    @MaxID int output
    as 
    select @MaxID=max(ID)+1 from student
    go