You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 19:35:16