如题,各位大侠给予指导,在线等!

解决方案 »

  1.   

    select top 1 * from table where id>当前ID
      

  2.   

    1//DataReader的详细用法  
      2   cmd.CommandText = "GetInfo"; 
      3  cmd.CommandType = CommandType.StoredProcedure; 
      4  SqlParameter param = cmd.Parameters.Add("@Fid",16); 
      5  param = cmd.Parameters.Add("@Fname",SqlDbType.VarChar,8); 
      6  param.Direction = ParameterDirection.Output; 
      7  param = cmd.Parameters.Add("@Fphone",SqlDbType.VarChar,8); 
      8  param.Direction = ParameterDirection.Output; 
      9  conn.Open(); 
     10  cmd.ExecuteNonQuery(); 
     11  string Fname = cmd.Parameters["@Fname"].Value.ToString(); 
     12  string Fphone = cmd.Parameters["@Fphone"].Value.ToString(); 
     13  Console.WriteLine(Fname + "  " + Fphone); 
     14  conn.Close(); 
     15  showSplit(); 
     16 } 
     17  
     18 //************************************** 
     19 //*演示读取多个无关记录集 
     20 //**************************************  
     21 public void multiResult() 
     22 { 
     23  SqlCommand cmd;  
     24  cmd = conn.CreateCommand(); 
     25  string sqla = "select Fname from friend"; 
     26  string sqlb = "select Fphone from friend"; 
     27  cmd.CommandText = sqla + ";" + sqlb; 
     28  conn.Open(); 
     29  SqlDataReader reader= cmd.ExecuteReader(); 
     30  int i = 1; 
     31  do 
     32  { 
     33   Console.WriteLine("第" + i.ToString() + "个记录集内容如下:\n"); 
     34   while(reader.Read()) 
     35   { 
     36    Console.WriteLine(reader[0].ToString() + "\t"); 
     37   } 
     38   i++; 
     39  }while(reader.NextResult()); //NextResult()移动到下一个记录集 
     40  reader.Close(); 
     41  conn.Close(); 
     42  showSplit(); 
     43 } 
     44  
     45 //************************************** 
     46 //*使用DataReader获得数据库模式信息 
     47 //**************************************  
     48 public void getSchema() 
     49 { 
     50  SqlCommand cmd;  
     51  cmd = conn.CreateCommand(); 
     52  string sql = "select Fid,Fname,Fphone from friend"; 
     53     cmd.CommandText = sql; 
     54     conn.Open(); 
     55     SqlDataReader reader = cmd.ExecuteReader(); 
     56     DataTable SchemaTable = reader.GetSchemaTable(); 
     57      
     58     DataRowCollection SchemaColumns = SchemaTable.Rows; 
     59     DataColumnCollection SchemaProps = SchemaTable.Columns;    
     60     foreach(DataRow SchemaColumn in SchemaColumns) 
     61     { 
     62      foreach(DataColumn SchemaColumnProp in SchemaProps) 
     63      { 
     64       Console.WriteLine(SchemaColumnProp.ColumnName + "=" + SchemaColumn[SchemaColumnProp.ColumnName].ToString()); 
     65      } 
     66     } 
     67     reader.Close(); 
     68     conn.Close(); 
     69     showSplit(); 
     70 } 
     71  
     72 //************************************** 
     73 //*从数据库读取二进制数据的代码段 
     74 //*该代码段只是读取二进制的片断,不是 
     75 //*整个程序,所以不能执行,你可以把它 
     76 //*集成到你的WinForm项目里面。 
     77 //**************************************  
     78 public void getBinary() 
     79 { 
     80  /**//* 
     81  System.IO.MemoryStream stream = new System.IO.MemoryStream(); 
     82  System.IO.BinaryWriter writer = new System.IO.BinaryWriter(stream);    
     83  int BufferSize = 1024; 
     84  byte[] Buffer = new Byte[BufferSize]; 
     85  long Offset = 0; 
     86  long BytesRead = 0; 
     87  do 
     88  { 
     89   BytesRead = reader.GetBytes(2,Offset,Buffer,0,BufferSize); 
     90   writer.Writer(Buffer,0,(int)BytesRead); 
     91   writer.Flush(); 
     92   Offset += BytesRead; 
     93  } 
     94  while(BytesRead == BufferSize); 
     95  */ 
     96 } 
     97  
     98 //添加输出分隔 
     99 private void showSplit() 
    100 { 
    101  Console.WriteLine("\n********************************************************************\n"); 
    102 } 
    103  
    104 public static void Main(string [] args) 
    105 { 
    106  SqlReader sqlreader = new SqlReader(); 
    107   
    108  sqlreader.basicReader(); 
    109   
    110  sqlreader.hasParamReader(); 
    111   
    112  sqlreader.hasOledbParamReader(); 
    113   
    114  sqlreader.outParamShow(); 
    115   
    116  sqlreader.multiResult(); 
    117   
    118  sqlreader.getSchema(); 
    119 }  
    120} 
      

  3.   

                string str = @"Data Source=PC-11191038\SQLEXPRESS;Initial Catalog=露天矿卡车调度系统;Persist Security Info=True;User ID=sa;pwd=sa";
                SqlConnection conStr = new SqlConnection(str);
                conStr.Open();
                SqlCommand cmd = new SqlCommand("select X,Y from Sheet1$", conStr);
                List<double> pointX = new List<double>();
                List<double> pointY = new List<double>();
                //float i = (float)cmd.ExecuteScalar();
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    double X = (double)dr["X"];
                    double Y = (double)dr["Y"];
                    pointX.Add(X);
                    pointY.Add(Y);
                    //DataSet ds = new DataSet();
                    //DataTable x = ds.Tables[0];
                    //DataTable y = ds.Tables[1];
                }
    我现在已经从数据库中读取X,Y的第一行的值了,请教各位大侠应该怎么改一下,可以逐行都读出来!
      

  4.   


    用循环while(d.read())
    {
    }参考
      

  5.   

    foreach (datarow in datareader)
      

  6.   

    SqlDataReader reader=command.ExecuteReader();
    while(reader.read())
    {
       每循环一次读一条
    }
      

  7.   

    while(reader.NextResult()) //NextResult()移动到下一个记录集 
    做個循環就行了
      

  8.   

                while (dr.Read()) 
                { 
                    double X = (double)dr["X"]; 
                    double Y = (double)dr["Y"]; 
                    pointX.Add(X); 
                    pointY.Add(Y); 
                    //DataSet ds = new DataSet(); 
                    //DataTable x = ds.Tables[0]; 
                    //DataTable y = ds.Tables[1]; 
                } 
    while就是循环,数据都放到pointX,pointY中了,你可以设置断点调试,查看下pointX,pointY中的值.