编写一个控制台应用程序,将MySchool中Teacher表中的TeacherId、Sex、TeacherName打印出来
运行结果:
static void Main(string[] args)
{
string connString = "Data Source=.;Initial Catalog=MySchool;Uid=sa;Pwd=123456;";
SqlConnection connection = new SqlConnection(connString);
string sql = "select TeacherId,Sex,TeacherName from Teacher";
SqlCommand command = new SqlCommand(sql, connection);
try
{
connection.Open();
SqlDataReader dataReader = command.ExecuteReader();
while (dataReader.Read())
{
for(int i = 0; i < dataReader.FieldCount; i++)
{
Console.Write(dataReader.GetValue(i)+" ");
//打印读取的一列数据
}
Console.WriteLine();
//读取下一列时换行
}
dataReader.Close();
}
catch(Exception ex)
{
Console.WriteLine("操作数据库出错!");
Console.WriteLine(ex.Message);
}
finally
{
connection.Close();
}
}
or 换一种方式,因为DataReader本来就是像指针一样读取一行记录,所以可以试试不用两层循环。
static void Main(string[] args)
{
string connString = "Data Source=.;Initial Catalog=MySchool;User ID=sa;Pwd=12345";
SqlConnection connection = new SqlConnection(connString);
string sql = "select TeacherId,Sex,TeacherName from Teacher";
SqlCommand command = new SqlCommand(sql, connection);
try
{
connection.Open();
int teacherId;
string sex = "";
string teacherName = "";
SqlDataReader dataReader = command.ExecuteReader();
while (dataReader.Read())
{
teacherId = (int)dataReader["TeacherId"];
sex = (string)dataReader["Sex"];
teacherName = (string)dataReader["TeacherName"];
Console.WriteLine("{0},{1},{2}", teacherId,sex,teacherName);
}
dataReader.Close();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
Console.WriteLine("操作数据库出错");
}
finally
{
connection.Close();
}
}
数据源MySchool在我分享的资源中可获得。



