string constr = @"server=(local)\sqlexpress;
integrated security=true;database=northwind";
string sql1 = @"select companyname,contactname from customers ";
string sql2 = @"select firstname,lastname from employees ";
string sql = sql1 + sql2;
SqlConnection conn = new SqlConnection(constr);
SqlCommand cmd = new SqlCommand(sql,conn);
SqlDataReader reader = null;
try
{
conn.Open();
reader = cmd.ExecuteReader();
do
{
while (reader.Read())
{
Console.WriteLine("{0}:{1}", reader[0], reader[1]);
}
Console.WriteLine("".PadLeft(60, '='));
} while (reader.NextResult());这是代码的主要部分,两个查询语句都是查询了两列,但要是一个查询两列,一个查询一列怎么办
例如要是第二个查询语句变成下边这样怎么办
string sql2 = @"select lastname from employees ";
integrated security=true;database=northwind";
string sql1 = @"select companyname,contactname from customers ";
string sql2 = @"select firstname,lastname from employees ";
string sql = sql1 + sql2;
SqlConnection conn = new SqlConnection(constr);
SqlCommand cmd = new SqlCommand(sql,conn);
SqlDataReader reader = null;
try
{
conn.Open();
reader = cmd.ExecuteReader();
do
{
while (reader.Read())
{
Console.WriteLine("{0}:{1}", reader[0], reader[1]);
}
Console.WriteLine("".PadLeft(60, '='));
} while (reader.NextResult());这是代码的主要部分,两个查询语句都是查询了两列,但要是一个查询两列,一个查询一列怎么办
例如要是第二个查询语句变成下边这样怎么办
string sql2 = @"select lastname from employees ";
就可以知道有几列了
string text1 = string.Empty;
string text2 = string.Empty;
for (int i = 0; i < reader.FieldCount; i++)
{
text1 += "{"+i+"}:";
text2 += "sdr["+i+"],";
}
text1 = text1.Substring(0,text1.Length - 1);
text2 = text2.Substring(0,text2.Length - 1);
Console.WriteLine(text1, text2);