OleDbConnection myConn = new OleDbConnection("连接字符");            
string cmdStr = "SELECT TOP 10 Rnd(ID) AS bb, * FROM student ORDER BY Rnd(ID)";
OleDbCommand cmd = new OleDbCommand(cmdStr, myConn);
cmd.CommandType = CommandType.Text;
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataTable ta = new DataTable();
da.Fill(ta);
this.dataGrid1.DataSource = ta;//上面运行,每次返回结果都一样,但在ACCESS中用查询结果次次不同,请问解决方式

解决方案 »

  1.   

    ado.net访问ACCESS有时候的确莫名其妙~~~
    就象今天碰到用like '*商品*',能在ACCESS中用查询到,但在程序中却怎么也查不到,要用like '%%商品%%',怪问题,可能是ADO.NET的问题
    关注
      

  2.   

    是因为查询数据库的随机数的种子是一样的,才会一直取同样的值
    要确保每次执行都是不同的RAND([ seed ])
      

  3.   

    但在ACCESS中执行查询是结果返回就是不同的
      

  4.   

    你在C# 中用Random类生成那个ID,然后拼装Select语句再到Access中搞一票吧,绝无坎坷。
      

  5.   

    upupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupup