如何在CMD中查看数据库数据?C#代码连接正常但无数据输出求助
解决CMD中显示数据库查询结果的问题
你当前的代码连接数据库没问题,但直接打印DataTable对象看不到数据——因为DataTable.ToString()默认返回的是它的类型名称(比如System.Data.DataTable),不会输出表里的实际内容。
要在CMD里显示查询到的FirstName数据,你需要遍历DataTable中的每一行,取出对应列的值再打印。另外可以优化代码结构,把SqlConnection也放进using块里,这样不用手动在finally里关闭连接,using会自动处理资源释放。
修改后的代码如下:
public class atm { public static void Main() { string connectionString = @"Data Source=MAD-PC-023;Database=atmbd;Trusted_Connection=True;"; try { using (SqlConnection cnn = new SqlConnection(connectionString)) using (SqlCommand cmd = cnn.CreateCommand()) { cnn.Open(); Console.WriteLine("Is working"); var sqlQuery = "SELECT FirstName FROM tblATM"; using (SqlDataAdapter da = new SqlDataAdapter(sqlQuery, cnn)) using (DataTable dt = new DataTable()) { da.Fill(dt); // 遍历DataTable的每一行,输出FirstName列的值 foreach (DataRow row in dt.Rows) { Console.WriteLine(row["FirstName"]); } } } } catch (SqlException erro) { Console.WriteLine("Is not working: " + erro.Message); } } }
如果之后需要查询多列数据,也可以用通用方式遍历所有列:
// 先打印表头 foreach (DataColumn col in dt.Columns) { Console.Write(col.ColumnName + "\t"); } Console.WriteLine(); // 打印每行数据 foreach (DataRow row in dt.Rows) { foreach (var item in row.ItemArray) { Console.Write(item + "\t"); } Console.WriteLine(); }
这样就能在CMD里清晰看到数据库返回的内容了。
内容的提问来源于stack exchange,提问作者user20571251
相关产品推荐
相关产品推荐

