怎样做网站外部样式,呼和浩特建设工程信息网站,外贸互联网推广的,网站服务器租用选择//***********************************************************//*名称#xff1a;一个程序详细研究DataReader,同时显示Command用法//*功能#xff1a;演示DataReader的各项操作。//*说明#xff1a;如果需要文字说明请查看我的BLOG里面关于ado.net的文章//*作者#xf…//***********************************************************//*名称一个程序详细研究DataReader,同时显示Command用法//*功能演示DataReader的各项操作。//*说明如果需要文字说明请查看我的BLOG里面关于ado.net的文章//*作者雪冬寒//*BOLGhttp://blog.csdn.net/bineon//***********************************************************using System;using System.Data;using System.Data.SqlClient;using System.Data.OleDb; class SqlReader{ const string connStr data sourcebineon;user idsa;password87345587;initial catalogcontract; SqlConnection conn; public SqlReader() { conn new SqlConnection(connStr); } //************************************** //*演示DataReader的两种取值方法 //************************************** public void basicReader() { string sqlselect * from friend; SqlCommand cmd; cmd conn.CreateCommand(); cmd.CommandText sql; conn.Open(); SqlDataReader reader cmd.ExecuteReader(); while(reader.Read()) { Console.WriteLine(No:{0}\tName:{1}\tPhoneNum:{2},\tAddress:{3},reader.GetInt32(0).ToString(),reader.GetString(1),reader[2].ToString(),reader[Faddress].ToString()); } showSplit(); reader.Close(); conn.Close(); } //************************************** //*演示带参数查询的操作使用SqlCilent //************************************** public void hasParamReader() { SqlCommand cmd; cmd conn.CreateCommand(); string sql select Fname,Fphone,Faddress from friend where Fid Fid; cmd.CommandText sql; SqlParameter param new SqlParameter(Fid,SqlDbType.Int,4); param.Value 15; cmd.Parameters.Add(param); conn.Open(); //当关闭reader的时候同时关闭数据库连接 SqlDataReader reader cmd.ExecuteReader(CommandBehavior.CloseConnection); while(reader.Read()) { Console.WriteLine(Name:{0}\tPhoneNum:{1}\tAddress:{2},reader.GetString(0),reader.GetString(1),reader.GetString(2)); } showSplit(); //无需关闭conn,系统会自动调用这个方法来关闭conn的。 reader.Close(); } //************************************** //*演示带参数查询的操作,使用OleDb //************************************** public void hasOledbParamReader() { SqlCommand cmd; cmd conn.CreateCommand(); string sql select Fname,Fphone,Faddress from friend where Fid ?; string oledbConnStr Providersqloledb; connStr; OleDbConnection oleConn new OleDbConnection(oledbConnStr); OleDbCommand oleCmd new OleDbCommand(sql,oleConn); oleCmd.Parameters.Add(nothing,15); oleConn.Open(); OleDbDataReader oleReader oleCmd.ExecuteReader(); while(oleReader.Read()) { Console.WriteLine(Name:{0}\tPhoneNum:{1}\tAddress:{2},oleReader.GetString(0),oleReader.GetString(1),oleReader.GetString(2)); } showSplit(); oleReader.Close(); oleConn.Close(); } //************************************** //*演示存储过程的输出参数 //************************************** public void outParamShow() { SqlCommand cmd; cmd conn.CreateCommand(); cmd.CommandText GetInfo; cmd.CommandType CommandType.StoredProcedure; SqlParameter param cmd.Parameters.Add(Fid,16); param cmd.Parameters.Add(Fname,SqlDbType.VarChar,8); param.Direction ParameterDirection.Output; param cmd.Parameters.Add(Fphone,SqlDbType.VarChar,8); param.Direction ParameterDirection.Output; conn.Open(); cmd.ExecuteNonQuery(); string Fname cmd.Parameters[Fname].Value.ToString(); string Fphone cmd.Parameters[Fphone].Value.ToString(); Console.WriteLine(Fname Fphone); conn.Close(); showSplit(); } //************************************** //*演示读取多个无关记录集 //************************************** public void multiResult() { SqlCommand cmd; cmd conn.CreateCommand(); string sqla select Fname from friend; string sqlb select Fphone from friend; cmd.CommandText sqla ; sqlb; conn.Open(); SqlDataReader reader cmd.ExecuteReader(); int i 1; do { Console.WriteLine(第 i.ToString() 个记录集内容如下\n); while(reader.Read()) { Console.WriteLine(reader[0].ToString() \t); } i; }while(reader.NextResult()); //NextResult()移动到下一个记录集 reader.Close(); conn.Close(); showSplit(); } //************************************** //*使用DataReader获得数据库模式信息 //************************************** public void getSchema() { SqlCommand cmd; cmd conn.CreateCommand(); string sql select Fid,Fname,Fphone from friend; cmd.CommandText sql; conn.Open(); SqlDataReader reader cmd.ExecuteReader(); DataTable SchemaTable reader.GetSchemaTable(); DataRowCollection SchemaColumns SchemaTable.Rows; DataColumnCollection SchemaProps SchemaTable.Columns; foreach(DataRow SchemaColumn in SchemaColumns) { foreach(DataColumn SchemaColumnProp in SchemaProps) { Console.WriteLine(SchemaColumnProp.ColumnName SchemaColumn[SchemaColumnProp.ColumnName].ToString()); } } reader.Close(); conn.Close(); showSplit(); } //************************************** //*从数据库读取二进制数据的代码段 //*该代码段只是读取二进制的片断不是 //*整个程序所以不能执行你可以把它 //*集成到你的WinForm项目里面。 //************************************** public void getBinary() { /* System.IO.MemoryStream stream new System.IO.MemoryStream(); System.IO.BinaryWriter writer new System.IO.BinaryWriter(stream); int BufferSize 1024; byte[] Buffer new Byte[BufferSize]; long Offset 0; long BytesRead 0; do { BytesRead reader.GetBytes(2,Offset,Buffer,0,BufferSize); writer.Writer(Buffer,0,(int)BytesRead); writer.Flush(); Offset BytesRead; } while(BytesRead BufferSize); */ } //添加输出分隔 private void showSplit() { Console.WriteLine(\n********************************************************************\n); } public static void Main(string [] args) { SqlReader sqlreader new SqlReader(); sqlreader.basicReader(); sqlreader.hasParamReader(); sqlreader.hasOledbParamReader(); sqlreader.outParamShow(); sqlreader.multiResult(); sqlreader.getSchema(); } } 转载于:https://www.cnblogs.com/fuyingke/archive/2006/11/15/561268.html