如何将SQL结果保存到C#变量中?
我很难找到如何将SQL结果保存到String或结果返回的任何类型。
我的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不会真正关闭真实的连接,它会“软关闭“它并将实时连接重新连接回连接池以便以后再循环。
您可以使用SqlDataReader。 这是一个示例:
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConnectionString"].ToString()); SqlCommand read_command = new SqlCommand("SELECT SUM(Length) FROM tbl_test WHERE TITLE LIKE '@t%'", con); read_command.Parameters.Add("@t", SqlDbType.NVarChar).Value = Str; SqlDataReader read_rd; string SUM ; try { con.Open(); read_rd = read_command.ExecuteReader(); if (read_pass_rd.HasRows) { while (read_rd.Read()) { SUM = read_rd.GetString(0); } } read_rd.Close(); con.Close(); } catch (Exception) { if (con.State == ConnectionState.Open) con.Close(); }
‘Str’是一个字符串,是你搜索的字符串,’SUM’字符串就是答案。
您需要通过一些可用的方法将C#连接到您的数据库:
- LinQ to SQL
- ADO.NET
- LinQ to Entities
我认为ADO.NET是最基本,最简单的方法,给你实际的查询。
上述就是C#学习教程:如何将SQL结果保存到C#变量中?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1251043.html