当前位置:编程学习 > C#/ASP.NET >>

C#学生信息管理系统删除代码怎么写???

我先录入一些学生信息成功后,再去删除这里学生的信息同时数据库也跟着改变!


数据库名称:StudentManager  表名:student 


等待高手帮助呀!
谢谢。。。
--------------------编程问答-------------------- delete xxx表 where id = xxx --------------------编程问答-------------------- 你要sql代码还是要程序代码呢··? --------------------编程问答--------------------
引用楼主 z287176493 的回复:
我先录入一些学生信息成功后,再去删除这里学生的信息同时数据库也跟着改变!


数据库名称:StudentManager 表名:student 


等待高手帮助呀!
谢谢。。。
楼主你是做作业吧 --------------------编程问答-------------------- 其他的代码不用变了,只是把SQL语句改一下就OK
delete from student where stuid=ID值 --------------------编程问答-------------------- 用DataGridView,你在界面中随便删,该删的删除后,一块提交给数据库。节省时间。

用SqlCommandBuilder对象。 --------------------编程问答-------------------- 楼主还是去51aspx下载个吧。

--------------------编程问答-------------------- 楼主是个新手啊!!呵呵,比我还新!! --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
delete xxx表 where id = xxx


直接写就成了呀,这也问.
--------------------编程问答-------------------- 数据库操作类


using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;

namespace MyTest
{
    public class DataHelper
    {
        // 连接数据源
        public SqlConnection con = null;
        public OleDbConnection conn = null;

        /// <summary>
        /// 数据库连接类型
        /// </summary>
        public enum dbType
        {
            /// <summary>
            /// SQL数据库
            /// </summary>
            sql,
            /// <summary>
            /// access数据库
            /// </summary>
            access
        }
         //连接数据类型
        dbType cType;

        public DataHelper(string conStr,dbType type)
        {
             this.cType = type;
            if (type == dbType.sql)
                con = new SqlConnection(conStr);
            else if (type == dbType.access)
                conn = new OleDbConnection(conStr);
        }

         /// <summary>
        /// 根据SQL查询返回DataSet对象,如果没有查询到则返回NULL
        /// </summary>
        /// <param name="sql">查询语句</param>
        /// <returns>DataSet</returns>
        public DataSet returnDS(string sql)
        {

            DataSet ds = new DataSet();
            try
            {
                if (cType == dbType.sql)
                {
                    SqlCommand cmd = new SqlCommand(sql, con);
                    cmd.CommandTimeout = 20;
                    this.Open();
                    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                    adapter.Fill(ds);

                }
                else if (cType == dbType.access)
                {
                    OleDbCommand cmd = new OleDbCommand(sql, conn);
                    cmd.CommandTimeout = 20;
                    this.Open();
                    System.Data.OleDb.OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
                    adapter.Fill(ds);
                }
            }
            catch (Exception e)
            {                
                ds = null;
                throw (e);
            }
            finally
            {
                this.Close();
            }

            return ds;

        }

        /// <summary>
        /// 根据SQL查询返回DataSet对象,如果没有查询到则返回NULL
        /// </summary>
        /// <param name="sql">查询语句</param>
        /// <param name="sRecord">开始记录数</param>
        /// <param name="mRecord">最大记录数</param>
        /// <param name="strTableName">表名</param>
        /// <returns>DataSet</returns>
        public DataSet returnDS(string sql, int sRecord, int mRecord, string strTableName)
        {

            DataSet ds = new DataSet();
            try
            {
                if (cType == dbType.sql)
                {
                    SqlCommand cmd = new SqlCommand(sql, con);
                    cmd.CommandTimeout = 20;
                    this.Open();
                    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                    adapter.Fill(ds, sRecord, mRecord, strTableName);

                }
                else if (cType == dbType.access)
                {
                    OleDbCommand cmd = new OleDbCommand(sql, conn);
                    cmd.CommandTimeout = 20;
                    this.Open();
                    System.Data.OleDb.OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
                    adapter.Fill(ds, sRecord, mRecord, strTableName);
                }
            }
            catch (Exception e)
            {
                ds = null;
                throw (e);
               
            }
            finally
            {
                this.Close();
            }

            return ds;

        }

        /// <summary>
        /// 对数据库的增,删,改的操作
        /// </summary>
        /// <param name="sql">SQL语句</param>
        /// <returns>是否成功</returns>
        public bool OperateDB(string sql)
        {
            bool succeed = false;
            int cnt = 0;
            try
            {
                if (cType == dbType.sql)
                {
                    SqlCommand cmd = new SqlCommand(sql, con);
                    cmd.CommandTimeout = 20;
                    this.Open();
                    cnt = cmd.ExecuteNonQuery();

                }
                else if (cType == dbType.access)
                {
                    OleDbCommand cmd = new OleDbCommand(sql, conn);
                    cmd.CommandTimeout = 20;
                    this.Open();
                    cnt = cmd.ExecuteNonQuery();
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
            finally
            {
                if (cnt > 0)
                {
                    succeed = true;
                }
                this.Close();
            }

            return succeed;
        }

        /// <summary>
        /// 获得该SQL查询返回的第一行第一列的值,如果没有查询到则返回NULL
        /// </summary>
        /// <param name="sql">查询语句</param>
        /// <returns>返回的第一行第一列的值</returns>
        public string getValue(string sql)
        {
            string str = null;
            try
            {
                if (cType == dbType.sql)
                {
                    SqlCommand cmd = new SqlCommand(sql, con);
                    this.Open();
                    str = cmd.ExecuteScalar().ToString();

                }
                else if (cType == dbType.access)
                {
                    OleDbCommand cmd = new OleDbCommand(sql, conn);
                    this.Open();
                    str = cmd.ExecuteScalar().ToString();
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
            finally
            {
                this.Close();
            }

            return str;
        }


        /// <summary>
        ///   获得该SQL查询返回DataTable,如果没有查询到则返回NULL
        /// </summary>
        /// <param name="sql">查询语句</param>
        /// <returns></returns>
        public DataTable getTable(string sql)
        {
            DataTable tb = null;
            DataSet ds = this.returnDS(sql);
            if (ds != null)
            {
                tb = ds.Tables[0];
            }
            return tb;
        }

        /// <summary>
        ///  获得该SQL查询填充到 指定DataTable
        /// </summary>
        /// <param name="tb">指定的Table</param>
        /// <param name="sql"> SQL 语句</param>
        /// <returns></returns>
        public DataTable FillTable(DataTable tb, string sql)
        {

            DataSet ds = tb.DataSet;
            if (ds == null)
            {
                ds = new DataSet();
                ds.Tables.Add(tb);
            }           
            try
            {
                if (cType == dbType.sql)
                {
                    SqlCommand cmd = new SqlCommand(sql, con);
                    cmd.CommandTimeout = 20;
                    this.Open();
                    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                    adapter.Fill(ds,tb.TableName);

                }
                else if (cType == dbType.access)
                {
                    OleDbCommand cmd = new OleDbCommand(sql, conn);
                    cmd.CommandTimeout = 20;
                    this.Open();
                    System.Data.OleDb.OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
                    adapter.Fill(ds, tb.TableName);
                }
            }
            catch (Exception e)
            {
                ds = null;
                throw (e);
            }
            finally
            {
                this.Close();
            }


            if (ds != null)
            {
                return ds.Tables[0];
            }
            else
            {
                return null;
            }
         
        }
    }
}



--------------------编程问答-------------------- 使用的时候 例如删除 学生信息

C# code
   string strstudID = "";//得到要删除学生的ID 
   string strSql = "delete from student where stuid='"+strstudID +"'";//删除
    DataHelper  dh = new DataHelper(DataHelper.datatype.access);
   //删除 
   dh.OperateDB(strSql);
    strSql = "insert into student ...."
    //插入
    dh.OperateDB(strSql);
    

--------------------编程问答-------------------- 功能分析:删除这里学生的信息同时数据库也跟着改变 
==>两件事情
1 删除这里学生的信息
2 数据库的对应信息业删除

你是不是有一件没做??? --------------------编程问答-------------------- 跟你写录入的代码相同,只是把Insert语句换成delete语句就OK了 --------------------编程问答-------------------- 学生!~~ --------------------编程问答-------------------- 一句话的事说得这么复杂干嘛捏! 你删除之后再查询下就可以了。 --------------------编程问答-------------------- ( ⊙ o ⊙ )!我不会问问你们牛人嘛,这一顿说我呀!我要是高手我都去解答了呢,╮(╯▽╰)╭哎。。。求同情 --------------------编程问答--------------------   try
            {
               if (txtID.Text.Trim() == "" || txtName.Text.Trim() == "" || txtXuehao.Text.Trim() == "")
               {
                   MessageBox.Show("用户名、姓名和学号不能为空!","注册失败",
                       MessageBoxButtons.OK, MessageBoxIcon.Error);
                   return;
               }
                // 注册信息
                SqlConnection conn = new SqlConnection("server=.;database=StudentManager;uid=sa;pwd=;Integrated security=true"); 
                StringBuilder sql = new StringBuilder();
                string insert = "insert into Student values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')";
                sql.AppendFormat(insert, txtID.Text.Trim(), txtXuehao.Text.Trim(), txtName.Text.Trim(),cobXb.SelectedItem,
                     cobZy.SelectedItem, cobBj.SelectedItem, txtShenfen.Text.Trim(), txtFamily.Text.Trim());
                SqlCommand cmd = new SqlCommand(sql.ToString(), conn);
                conn.Open();
                int count = cmd.ExecuteNonQuery();
                conn.Close();
                if (count == 1)
                {
                    MessageBox.Show("恭喜您注册成功!");
                }
            }
            catch (Exception ee)
            {
                MessageBox.Show("发生错误:已存在用户名或" + ee.Message, "注册失败",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }



你们都说其他代码不变了修改数据库就行了
那你看看我的代码我修改哪啊,把他们放在删除按钮时会报很多错误,没有那些txtID.Text.Trim(), txtXuehao.Text.Trim(), txtName.Text.Trim(),cobXb.SelectedItem,
                     cobZy.SelectedItem, cobBj.SelectedItem, txtShenfen.Text.Trim(), txtFamily.Text.Trim());等,嘿嘿。。 --------------------编程问答-------------------- 删除成功后,在后面接着调查询的方法(也就是窗体加载时你显示所有数据的那个方法) --------------------编程问答-------------------- 晕,想起我当年。 --------------------编程问答-------------------- 执行delete from student where stuid=ID值即可
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,