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サーバーデータベースとプログラムの間のリンクは有効であるようです)。

私はSQLサーバーでWindows認証を使用していますが、それが何かを変更しているかどうかはわかりません...(もう一度:私はそのすべてに非常に慣れていません)。

ありがとう !

4

1 に答える 1

4

コードが機能するはずです。
考えられる原因: 別のデータベースを見ている。
コードで使用されているものとは異なる接続文字列を使用して VS 内でサーバー エクスプローラーを使用する場合、これは非常に一般的です。

于 2013-06-13T08:38:46.623 に答える