日期:2014-05-18  浏览次数:20930 次

给ACCESS添加数据为什么会顺序不对呢?
我的代码是这样写的:

String   ConnString   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source=MyMDB.mdb ";
                        //创建一个OleDbConnection对象
                        System.Data.OleDb.OleDbConnection   OleDBConn1   =   new   System.Data.OleDb.OleDbConnection(ConnString);
                        string   sqlYuju;

                        sqlYuju   =   "INSERT   INTO   Data   VALUES( "   +
                                        " ' "   +   textBox1.Text   +   " ', "   +
                                        " ' "   +   textBox2.Text   +   " ', "   +
                                        " ' "   +   textBox3.Text   +   " ') ";
                       
                        //创建一个oledbcommand对象
                        OleDbCommand   myCommand   =   new   OleDbCommand(sqlYuju,   OleDBConn1);
                   
                        //打开连接
                        OleDBConn1.Open();
                        OleDbDataReader   myReader   =   myCommand.ExecuteReader();

                        myReader.Read();
                      myReader.Close();
                      OleDBConn1.Close();

我添加数据的时候数据为什么不是一个接一个的来呢?而是乱插入的。像是随机插入一样。
以前看C++的时候记得有光标控制的,但是我不知道C#要怎么做,希望高手帮忙看看,顺便把代码加上,我是刚学的。

------解决方案--------------------
打开的时候,有一个排序吧,没关系的,你想有序,可以加一个自动增长列.
用程序加一句order by
------解决方案--------------------
OleDbDataReader myReader = myCommand.ExecuteReader();
--->
myCommand.ExecuteNonQuery()
数据库插入是顺序的,也可能用户设置了自动增加的阶越,那么就是不顺序的。
另外在你插入数据库的时候有可能别人也在操作。

------解决方案--------------------
有主键的话,回自动按主键排列
就算没,ACCESS也会给你按某行进行自动排列

要想按添加的顺序显示,最好加个自动增长的主键就行了
------解决方案--------------------
姓名 年龄 学校
小红 20 清华
小黄 21 复旦
小白 21 北大

我插入一段数据怎么变成


姓名 年龄 学校
小红 20 清华
小青 22 清华
小黄 21 复旦
小白 21 北大


为什么小青会插到那里呢?

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