datagirdview和listview,刪改查sqlserver數據庫的小結

        //創建DBhelper數據庫鏈接文件


        private static string sqlcon = "server=.;database=myschool;uid=sa;pwd=sa";
        public static SqlConnection connection = new SqlConnection(sqlcon);
============================================================

 

            //首先是lv控件的列表顯示 ,(listview)

            // 清空當前lv表中內容

            listview.Items.Clear();
            string sql = "select * from question";

            //引用DBhelper中的數據庫鏈接
            SqlCommand command = new SqlCommand(sql,DBhelper.connection);

            //打開數據庫,並用dr讀取記錄
            DBhelper.connection.Open();
            SqlDataReader dr = command.ExecuteReader();
            while (dr.Read())
            {
                ListViewItem lvi = new ListViewItem(dr["Question"].ToString());
                lvi.SubItems.AddRange(new string[] { dr["Answer"].ToString(), dr["Difficulty"].ToString(), dr["SubjectId"].ToString(), dr["OptionA"].ToString(), dr["OptionB"].ToString(), dr["OptionC"].ToString(), dr["OptionD"].ToString() });

                //把questionid數據庫索引列保存到tag中
                lvi.Tag = dr["questionid"].ToString();
                lv_biao.Items.Add(lvi);

            } dr.Close();
            DBhelper.connection.Close();

-------------------------------------------------------------------------------------------------------

            //lv控件刪除操作和修改差不多,只需要替換掉sql語句即可(listview)

            //首先信息框詢問是否確定刪除操作

            if (MessageBox.Show("確定是否刪除?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
            {
                string sql = string.Format("delete question where questionid = {0}", lv_biao.SelectedItems[0].Tag);
                SqlCommand command = new SqlCommand(sql, DBhelper.connection);
                DBhelper.connection.Open();
                int num = command.ExecuteNonQuery();
                if (num == 1)
                {
                    MessageBox.Show("刪除成功");
                }
                DBhelper.connection.Close();
            }

===========================================================

        //dgv控件的列表顯示

        //定義聲明好dataadapter,和dataset

        private static SqlDataAdapter da;
        private static DataSet ds = new DataSet();

 

-------------------------------------------------------------------------------------

        //查詢按鈕下加入如下代碼,先清空dataset中的數據(datagridview)
            ds.Reset();
            string sql = "select questionid,question,answer,difficulty,subjectid,optiona,optionb,optionc,optiond from question";
            da = new SqlDataAdapter(sql,DBhelper.connection);

            //dataadapter填充dataset中的數據
            da.Fill(ds, "test");
            dgv_biao.DataSource = ds.Tables["test"];
 --------------------------------------------------------------------------------------------          
         //datagridview中的修改,刪除如下,修改只要直接改表格中的數據即可

            dgv_biao.Rows.RemoveAt(dgv_biao.SelectedRows[0].Index);
-------------------------------------------------------------------------------------------------------       

         //把刪除或修改後的操作提交到數據庫中(才真正執行操作,注意數據庫中要有主鍵在dgv中)
            SqlCommandBuilder scb = new SqlCommandBuilder(da);
            da.Update(ds,"test");
----------------------------------------------------------------------------------------------------------------

ps:插入數據部分先省了~有需要的留言...呵呵

發佈了22 篇原創文章 · 獲贊 9 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章