C#学生信息管理系统删除代码怎么写???
我先录入一些学生信息成功后,再去删除这里学生的信息同时数据库也跟着改变!数据库名称:StudentManager 表名:student
等待高手帮助呀!
谢谢。。。
--------------------编程问答-------------------- delete xxx表 where id = xxx --------------------编程问答-------------------- 你要sql代码还是要程序代码呢··? --------------------编程问答-------------------- 楼主你是做作业吧 --------------------编程问答-------------------- 其他的代码不用变了,只是把SQL语句改一下就OK
delete from student where stuid=ID值 --------------------编程问答-------------------- 用DataGridView,你在界面中随便删,该删的删除后,一块提交给数据库。节省时间。
用SqlCommandBuilder对象。 --------------------编程问答-------------------- 楼主还是去51aspx下载个吧。
--------------------编程问答-------------------- 楼主是个新手啊!!呵呵,比我还新!! --------------------编程问答--------------------
直接写就成了呀,这也问.
--------------------编程问答-------------------- 数据库操作类
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#