3

我正在制作一个使用 ADO.NET 从数据库中获取一些数据的小程序。问题是,在我打开连接后,它不会在控制台中显示任何内容。如果我在连接之前输出一些东西......一切都很好,但在它只是干净的黑色之后。

我正在做的是读取表格并输出查询输出。没什么大不了的,但似乎找不到我丢失的物品..

非常感谢

答:我让控制台打开了一段时间,但连接超时。C# 仍然忙于处理 conn.Open() 直到超时。

public void ReadVoorraad() {

        SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=postorder2;User ID=root;Password=****");
        SqlDataReader rdr = null;

        try {

            conn.Open();
            SqlCommand cmd = new SqlCommand("SELECT * from voorraad", conn);

            rdr = cmd.ExecuteReader();

            while (rdr.Read()) {
                Console.WriteLine(rdr[0]);
            }
            Console.WriteLine("------ End of stream -------");
        } finally {
            if (rdr != null) { rdr.Close(); }
            if (conn != null) { conn.Close(); }
        }

    }

}
4

1 回答 1

0

我的猜测是有一些例外。尝试将此添加到您的代码中以从您的方法中获取更多诊断信息ReadVoorraad

SqlConnection conn = null;
SqlDataReader rdr = null;

try {
    conn = new SqlConnection(...);

    ...
} catch (Exception e) {
    Console.WriteLine("Error: " + e.Message);
    throw;
} finally {
    if (rdr != null) { rdr.Close(); }
    if (conn != null) { conn.Close(); }
}
于 2013-03-16T21:35:55.637 回答