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

新学者的弱智问题

            string ConnectStr1 = ConfigurationManager.ConnectionStrings["connAcc"].ConnectionString;

            OleDbConnection ConnAcc = new OleDbConnection(ConnectStr1);
            ConnAcc.Open();
            OleDbDataAdapter AccAP = new OleDbDataAdapter("select * from records", ConnAcc);
            DataSet AccDs = new DataSet();
            AccAP.Fill(AccDs, "records");
            string DeleteString;
            DeleteString = "delete from records where GIVENNAME='刘德华'";
            OleDbCommand DelCmd = new OleDbCommand(DeleteString, ConnAcc);
            AccAP.DeleteCommand = DelCmd;
            AccAP.Update(AccDs, "records");

这段代码执行的很通畅,没报任何错误,断点调试过了,每一句都执行到了
但是记录就是没删掉
帮忙看看是什么状况
刚学的,多多包涵 --------------------编程问答-------------------- dateset都没有变化当然不会删喽 --------------------编程问答-------------------- 那要怎么处理啊
这里好像dataset都没什么用
但是我看书上的例子,OleDbDataAdapter的update方法一定要有个dataset参数啊 --------------------编程问答-------------------- 你从数据库是读取的数据不显不吗,把用来显示的控件绑定dateset,当控件的数据变化后用update就能更新数据库了 --------------------编程问答-------------------- 不显示数据啊
数据集没什么用,想直接删除数据
我现在是在学习中

            string ConnectStr1 = ConfigurationManager.ConnectionStrings["connAcc"].ConnectionString;
            OleDbConnection ConnAcc = new System.Data.OleDb.OleDbConnection(ConnectStr1);
            command = ConnAcc.CreateCommand();
            command.CommandText = "delete from records where GIVENNAME='胡景涛'";
            command.ExecuteNonQuery();
这种方式是可以直接删除

但是书上说增删改操作有分command方式和适配器方式
两种方式的新增和修改我都试过了,没问题
就是用适配器删除数据这种方式一直搞不定 --------------------编程问答--------------------        OleDbDataAdapter AccAP = new OleDbDataAdapter("select * from records", ConnAcc);
            DataSet AccDs = new DataSet();
            AccAP.Fill(AccDs, "records");
写这个干吗? --------------------编程问答-------------------- ConnAcc.open() --------------------编程问答-------------------- string ConnectStr1 = ConfigurationManager.ConnectionStrings["connAcc"].ConnectionString;
  OleDbConnection ConnAcc = new System.Data.OleDb.OleDbConnection(ConnectStr1);
  ConnAcc.open()
  command = ConnAcc.CreateCommand();
  command.CommandText = "delete from records where GIVENNAME='胡景涛'";
  command.ExecuteNonQuery(); --------------------编程问答-------------------- 你用的是ASSES数据库吧,检查一下数据库的权限、以及是不是只读状态。 --------------------编程问答-------------------- 得执行下面这句吧

            string ConnectStr1 = ConfigurationManager.ConnectionStrings["connAcc"].ConnectionString;

            OleDbConnection ConnAcc = new OleDbConnection(ConnectStr1);
            ConnAcc.Open();
            OleDbDataAdapter AccAP = new OleDbDataAdapter("select * from records", ConnAcc);
            DataSet AccDs = new DataSet();
            AccAP.Fill(AccDs, "records");
            string DeleteString;
            DeleteString = "delete from records where GIVENNAME='刘德华'";
            OleDbCommand DelCmd = new OleDbCommand(DeleteString, ConnAcc);
            AccAP.DeleteCommand = DelCmd;
            AccAP.DeleteCommand.ExecuteNonQuery();//得加这句吧
            AccAP.Update(AccDs, "records");
--------------------编程问答--------------------
引用 5 楼 memorylose 的回复:
OleDbDataAdapter AccAP = new OleDbDataAdapter("select * from records", ConnAcc);
  DataSet AccDs = new DataSet();
  AccAP.Fill(AccDs, "records");
写这个干吗?


OleDbDataAdapter AccAP = new OleDbDataAdapter("select * from records", ConnAcc);//在数据库中查询所有信息
  DataSet AccDs = new DataSet();//创建数据集
  AccAP.Fill(AccDs, "records");//填充数据集


有了DataSet就不用一直都连接着数据库了...

--------------------编程问答--------------------
引用 10 楼 xjzhangbowei 的回复:
引用 5 楼 memorylose 的回复:
OleDbDataAdapter AccAP = new OleDbDataAdapter("select * from records", ConnAcc);
DataSet AccDs = new DataSet();
AccAP.Fill(AccDs, "records");
写这个干吗?

C# code

OleDbDataA……



up +1  
我也觉得你你的代码有点繁琐
你要知道每步干嘛的没有这么多
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,