今天有时间了。
在看《c#数据库入门经典》 ,总结数据读取器查询结果。
针对单个结果集使用读取器,有3中方法:
String connString =..;
String sql =@" select Col1Name ,Col2Name from Table ";
SqlConnection conn = new SqlConnection(connString);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader rdr = cmd.ExecuteReader();
1.使用序数索引器
Console.WriteLine(" Col1 \t Col2 \t " ,rdr[0], rdr[1]);
2.使用列名索引器
Console.WriteLine(" Col1 \t Col2 \t " ,rdr["Col1Name"], rdr[Col2Name]);
3.使用类型访问器
Console.WriteLine(" Col1 \t Col2 \t " ,rdr.GetString(0), rdr.GetString(1));
针对多个数据集使用读取器
String connString =..;
String sql1 =@" select Col1Name ,Col2Name from Table where Col1Name='1' ";
String sql2=@" select Col1Name ,Col2Name from Table where Co1Name='2' ";
String sql=sql1+sql2;
SqlConnection conn = new SqlConnection(connString);
try
{
conn.Close();
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader rdr = cmd.ExecuteReader();
do
{
while(rdr.Read())
{
Console.WriteLine("{0} : {1}",rdr[0], rdr[1]);
}
} while (rdr.NextResult()); --读取跨结果集
rdr.Close();
}
catch (System.Exception ex)
{
Console.WriteLine(ex);
}
finally
{
conn.Close();
}