为什么不能删除数据库中的记录?

chinakyb 2004-12-01 06:08:44
public class test : System.Web.UI.Page
{
protected System.Data.SqlClient.SqlDataAdapter myAdapter;
protected System.Data.SqlClient.SqlCommand sqlSelectCommand1;
protected System.Data.SqlClient.SqlCommand sqlInsertCommand1;
protected System.Data.SqlClient.SqlCommand sqlUpdateCommand1;
protected System.Data.SqlClient.SqlCommand sqlDeleteCommand1;
protected t.dsReptFlt ds;
protected System.Data.SqlClient.SqlConnection Conn;

private void Page_Load(object sender, System.EventArgs e)
{
myAdapter.Fill(ds);
ds.Tables[0].Rows.RemoveAt(1);
myAdapter.Update(ds,"ReptFlt");
}
}

浏览test.aspx后为什么删除不了数据库中ReptFlt表中的记录?
...全文
300 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
greennetboy 2004-12-02
  • 打赏
  • 举报
回复
完整删除数据代码为:DialogResult result;
string message = "注意,删除雇员信息将不可恢复,您真的要删除么?";
string caption = "提示";
MessageBoxButtons btn = MessageBoxButtons.YesNo;
MessageBoxIcon ico = MessageBoxIcon.Information;
result = MessageBox.Show(this, message, caption, btn, ico);
if (result == DialogResult.Yes)
{
conncetion c = new conncetion();
OleDbCommand cmd = new OleDbCommand("删除雇员", c.con());//为存储过程类型
cmd.CommandType = CommandType.StoredProcedure
try
{

;
cmd.Parameters.Add("@gzz", OleDbType.VarChar, 50);
cmd.Parameters["@gzz"].Value = textBox7.Text.Trim();
if (cmd.ExecuteNonQuery() != 0)
{

MessageBox.Show("删除成功", "恭喜 ");
tabControl1.SelectedIndex = 0;
fenye();
}
else
{
MessageBox.Show("有参数错误", "出错啦");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "出错啦");
}
finally
{
c.con().Close();
}
//删除语句字符串格式为
DELETE FROM TABLENAME WHERE(ComlumnName=@comlumnname);

herony420 2004-12-02
  • 打赏
  • 举报
回复
晕,你的sqlDataAdapter什么都没有帮定,也就是说你的让它知道你操作的是那个数据库,执行的是什么命令亚,就是需要有SqlCommand的前提才是数据操作的基础
chinaybk 2004-12-02
  • 打赏
  • 举报
回复
《C#入门经典》清华大学出版社出版的书中491-492页中描述用DataSet中的数据更新在数据库中的数据,只用了一条语句:
private void Button1_Click()
{
this.sqlDataAdapter1.Update(this.dsCustomers1.Customers);
}
书中描述说:当单击按钮Button1时,对DataSet所作的任何变动都会传递到数据库。
lr2651 2004-12-02
  • 打赏
  • 举报
回复
加一句ds.getchanges();当然,象一楼说的,要就这几句的话,数据都显示不出来,更别说删除什么了
chinaybk 2004-12-02
  • 打赏
  • 举报
回复
private void Page_Load(object sender, System.EventArgs e)
{
myAdapter.Fill(ds);
ds.Tables["ReptFlt"].Rows.RemoveAt(1);
myAdapter.Update(ds.ReptFlt); //修改成这样也不行
}
chinaybk 2004-12-02
  • 打赏
  • 举报
回复
ds.Tables[0]就是表ReptFlt
yangh44 2004-12-02
  • 打赏
  • 举报
回复
myAdapter.Fill(ds); //填充ds

ds.Tables[0].Rows.RemoveAt(1); //移除ds.Tables[0]中的内容

myAdapter.Update(ds,"ReptFlt"); //修改ds.Tables[??]的内容,
//并取名为表“ReptFlt”
//ds是表的集合,里面有若干个表,ds.Tables[1]应该是你所要的表!!
xiaoslong 2004-12-02
  • 打赏
  • 举报
回复
up
chinaybk 2004-12-02
  • 打赏
  • 举报
回复
chinakyb 2004-12-02
  • 打赏
  • 举报
回复
ds.Tables["ReptFlt"].Rows.RemoveAt(3);改成ds.Tables["ReptFlt"].Rows[3].delete()
chinaybk 2004-12-02
  • 打赏
  • 举报
回复
ds.Tables["ReptFlt"].Rows.RemoveAt(3);改成ds.Tables["ReptFlt"].Rows[3].delete()
xinbin1122 2004-12-01
  • 打赏
  • 举报
回复
如果仅仅就这些代码,当然删不了了
没有删除字符串阿
用commandBuilder看看行不行

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧