Csharp/C#教程:通过WCF执行自定义SQL查询分享


通过WCF执行自定义SQL查询

我使用ORACLE和SQL Server的WCF服务。 然后我需要“通用”解决方案。

我需要构建一个WCF方法来实质上执行自定义SQL字符串并返回读者结果。

这不是一个很好的做法,可能是最好的避免,它有点打破了WCF服务的重点,但在我的情况下,这需要做。

我不希望WCF数据服务既不能用于其他技术或协议。

只有WCF服务(SOAP)。

关于它的任何好的做法?

也许List<List>返回值需要改进。

SQL Server的源代码。 对于Oracle来说也是如此。

 [OperationContract] List<List> executeSQL(string sql, bool returnExpected); public List<List> executeSQL(string sql, bool returnExpected) { List<List> toReturn = new List<List>(); using (SqlConnection con = new SqlConnection(YourConnectionString)) { con.Open(); SqlCommand cmd = con.CreateCommand(); cmd.CommandText = sql; if (returnExpected == true) { using (SqlDataReader sqlReader = cmd.ExecuteReader()) { if (sqlReader != null) { if (sqlReader.HasRows) { while (sqlReader.Read()) { List innerList = new List(); for (int i = 0; i < sqlReader.FieldCount; i++) { innerList.Add(sqlReader[i].ToString()); } toReturn.Add(innerList); } con.Close(); } } } } else { // We execute without reader cmd.ExecuteNonQuery(); } } return toReturn; } 

定义运营合同

 [OperationContract] string executeSQL(string sql, bool returnExpected); 

将列表转换为json字符串

 return Newtonsoft.Json.JsonConvert.SerializeObject(YourResultList); 

将json字符串解析为object

上述就是C#学习教程:通过WCF执行自定义SQL查询分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var res = (YourClass)Newtonsoft.Json.JsonConvert.DeserializeObject(s, typeof(YourClass)); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1000293.html

(0)
上一篇 2021年12月27日
下一篇 2021年12月27日

精彩推荐