【发布时间】:2013-06-23 10:39:18
【问题描述】:
我有一个乐透抽奖方法,它应该从已购买彩票的数据库中找到中奖彩票。但我无法显示查询结果。 (我知道这不是乐透的真正运作方式,我稍后会随机分配数字:P)
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
标签: c# asp.net executenonquery