-1

私のウェブサイト(リモート)にSQLサーバーテーブルがあります。テーブルが呼び出さtable1れ、多数のフィールドが含まれています。ここでの私の目標は、 のすべてのフィールドをtable1という配列に読み込むことresultsです。

これが私の試みです:

 private static void ShowFields()
        {
            using (SqlConnection connection = new SqlConnection(connectionstring))
            {
                connection.Open();

                SqlCommand command = new SqlCommand("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='table1'", connection);

                string[] results = command.BeginExecuteNonQuery().ToArray();

                connection.Close(); 

                foreach (var v in results)
                {
                    Console.WriteLine(v); 
                }
            }
        }
4

3 に答える 3

0

Sqlcoomand.Executereader()次の代わりに使用する必要があります。

 private static void ShowFields()
 {
     using (SqlConnection connection = new SqlConnection(connectionstring))
     {
         connection.Open();

         SqlCommand command = new SqlCommand("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='table1'", connection);
         SqlDataReader reader = command.ExecuteReader();

         connection.Close();

         int colCount = reader.FieldCount;

         while (reader.Read())
         {
             for (int i = 0; i < colCount; i++)
             {
                 Console.WriteLine(reader.GetString(i));
             }
         }
     }
 }
于 2013-05-18T13:50:43.150 に答える
0

あなたは探検したいと思うでしょう

SqlCommand.ExecuteReader

または DataSet に結果を入力します。

http://msdn.microsoft.com/en-us/library/bh8kx08z%28v=vs.71%29.aspx

BeginExecuteNonQuery は非同期です。基本を理解するまで、これを渡します。

于 2013-05-18T12:53:24.947 に答える