У меня есть метод лотереи, который должен найти выигрышный билет из базы данных купленных билетов. Но я не могу отобразить результаты запроса. (Я знаю, что это не так, как лото действительно работает, я приду к рандомизации числа позже: P)Не удается отобразить результаты запроса с помощью cmd.ExecuteNonQuery в C#
draw.aspx.cs
public void LottoDraw(object sender, EventArgs e)
{
var connectionstring = "Server=C;Database=lotto;User Id=lottoadmin;Password=password;";
using (var con = new SqlConnection(connectionstring)) // Create connection with automatic disposal
{
con.Open();
using (var tran = con.BeginTransaction()) // Open a transaction
{
// Create command with parameters
string sql =
"SELECT TOP 1 * FROM tblLotto ORDER BY NEWID()";
var cmd = new SqlCommand(sql, con);
cmd.Transaction = tran;
cmd.ExecuteNonQuery(); // Execute the query
tran.Commit(); // commit transaction
Response.Write("<br />");
Response.Write("<br />");
Response.Write("end...");
}
}
}
'ExecuteNonQuery' должен использоваться только для операторов' INSERT', 'DELETE',' UDPATE', которые не возвращают значения. Для 'SELECT' используйте' ExecuteReader() 'для возврата' SqlDataReader', поэтому вы можете ** читать ** результаты, возвращаемые из запроса. Основы ADO.NET 101 –