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
}
//
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
}
转载于:https://www.cnblogs.com/ilovexiao/archive/2007/11/05/950255.html
最后
以上就是淡然心情最近收集整理的关于DataReader的详细用法的全部内容,更多相关DataReader内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复