我有麻烦找到如何将sql结果保存到字符串或结果返回的任何类型.
我的SQL查询是
SELECT SUM(Length) FROM tbl_test WHERE TITLE LIKE 't%'
这里我需要一个函数,总结所有数据行的长度,其中标题开头用字母“T”,当在MS-sql中执行查询时,它返回“188.99”(sql类型为十进制)
我的问题是,如何将该值保存到C#变量中?查询总是返回一个具有特定值的行,我想保存到一个变量中.我有一个C#函数来执行查询,我只需要这行188.99中的值被保存到一个变量中.任何建议都很酷,无论我将结果保存为十进制变量还是字符串.
解决方法
尝试在您准备的sqlCommand上调用.ExecuteScalar().例如:
sqlConnection connection = new sqlConnection(myConnectionString); sqlCommand cmd = connection.CreateCommand(); cmd.CommandText = "SELECT SUM(Length) FROM tbl_test WHERE TITLE LIKE 't%'"; int result = ((int)cmd.ExecuteScalar()); connection.Close();
您可以尽可能多地打开和关闭sqlConnections(它是SoP每次执行操作时打开和关闭,或者在同一方法中打开一系列操作),因为.Net将不会真正关闭连接,因为它将“软关闭“,并将实时连接重新连接回连接池,以便以后再次回收.