2

我是 .NET 中的真正菜鸟,我正在尝试将一个简单的命令行应用程序(在 C# 中)与一个 SQL 服务器数据库链接起来。我现在可以将程序与数据库连接起来,但不能恢复其中的数据。这是我的代码:

using System;
using System.Data;
using System.Data.SqlClient;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {
            string connectionString = GetConnectionString();
            string queryString = "SELECT USER_ID FROM dbo.ISALLOCATEDTO;";
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand command = connection.CreateCommand();
                command.CommandText = queryString;
                try
                {
                    connection.Open();
                    SqlDataReader reader = command.ExecuteReader();
                    int i = 0;
                    while (reader.Read())
                    {
                        i++;
                        Console.WriteLine("Field "+i);
                        Console.WriteLine("\t{0}",reader[0]);
                    }
                    reader.Close();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
            //Console.WriteLine("Hello world");
            string x = Console.ReadLine();
        }

        static private string GetConnectionString()
        {
            return "Data Source=FR401388\\SQLEXPRESS;Initial Catalog=Test;";
                + "Integrated Security=SSPI";
        }
    }
}

但是当我运行它时,即使我的表不是空的(我在 sql server studio 中看到过),我也无法使用 read() 方法恢复数据。到目前为止我所做的:尝试用假的更改数据表的名称:找不到数据表(因此 sql server 数据库和程序之间的链接似乎是有效的)。

我在 sql server 中使用 Windows 身份验证,不知道它是否改变了任何东西......(再一次:我对这一切都很陌生)。

谢谢 !

4

1 回答 1

4

您的代码应该可以工作。
一个可能的原因是:您正在查看不同的数据库。
如果您在 VS 中使用与代码中使用的连接字符串不同的连接字符串,这很常见。

于 2013-06-13T08:38:46.623 回答