给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 北大
为什么小青会插到那里呢?
-------------------------------------------------------