日期:2014-05-20  浏览次数:20882 次

如何获取ExecuteNonQuery里Select语句的值?
有这样一条查询语句:
string   SQL_GETSCHOOLID= "select   id   from   schools   where   schoolname=:schoolname ";

现在我用ExecuteNonQuery执行它:
Database.ExecuteNonQuery(Database.CONN_STRING,CommandType.Text,SQL_GETSCHOOLID)

请问我要如何获得select里的id值呢?
谢谢!

------解决方案--------------------
用ExecuteScalar 方法 而不用ExecuteNonQuery:

ExecuteScalar 方法
执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行。
------解决方案--------------------
为什么用ExecuteNonQuery?
用ExecuteQuery然后用READER读不可以么?
------解决方案--------------------
参见这段代码
string UFDFcode = "select This from UFDFcode where cYear= " + year;
SqlConnection con = DB.CreateCon();
SqlCommand cmdUFDAcode = new SqlCommand(UFDFcode, con);
SqlDataReader drUFDFcode = cmdUFDAcode.ExecuteReader();
string UFDatabaseNew = " ";
while (drUFDFcode.Read())
{
UFDatabaseNew = drUFDFcode.GetString(0);
}
drUFDFcode.Close();
------解决方案--------------------
string aa = (string)ExecuteScalar();