2
データベースが大きすぎるため、最初の数行を返すだけですが、SQLをテストしていたときにはselect *
を返し、最初の行のみが返されました。SqlCommandは1行だけを返します
SqlCommand sqlCmd = new SqlCommand();
SqlDataReader reader;
sqlCmd.CommandText = "SELECT * FROM Log";
sqlCmd.CommandType = CommandType.Text;
sqlCmd.Connection = myConnection;
myConnection.Open();
reader = sqlCmd.ExecuteReader();
Log logs = null;
while (reader.Read())
{
logs = new Log();
logs.Id = Convert.ToInt32(reader.GetValue(0));
}
return logs;
myConnection.Close();
解決策は何ですか。
reader.GetValue(0)は常に0番目のレコードを返します。必要? – mmcrae
位置0の値の列名は何ですか?また、デバッガを使用して、レコードのカウント数を確認します。ログには 'Add'メソッドがありますか? – MethodMan
ループの繰り返しごとに 'logs'を置き換えます。あなたはおそらく 'List'またはそのようなものへの追加を見ているでしょう。あなたが持っているので、あなたは確かに1つのレコードを得ることができます。 –