• DataReader的详细用法


      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
  • 相关阅读:
    站立会议02(冲刺2)
    站立会议01(冲刺2)
    测试计划
    cnblogs.com用户体验
    对其他组所提建议的回复(第一阶段)
    对各个小组的评论和一些建议
    团队会议第十天
    团队绩效评估规划
    团队会议第九天
    每日scrum(1)
  • 原文地址:https://www.cnblogs.com/ilovexiao/p/950255.html
Copyright © 2020-2023  润新知