WebServices新建及连接数据库
Posted 心以不防
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebServices新建及连接数据库相关的知识,希望对你有一定的参考价值。
1.新建项目
2.右键项目新建
3.Test:
4.OK:
5.连接SQL Server数据库
<1>ADO方式
添加类DBOperator
using System; using System.Collections.Generic; using System.Linq; using System.Data; using System.Data.SqlClient; namespace WebServiceTest { public class DBOperator : IDisposable { public static SqlConnection conn; private string ConnStrig = @"Data Source=.;Initial Catalog=SDTI.TicketDB;Integrated Security=True"; public DBOperator() { if (conn == null) { conn = new SqlConnection(); conn.ConnectionString = ConnStrig; conn.Open(); if (conn.State == ConnectionState.Open) { } } } public List<string> Select() { List<string> list = new List<string>(); try { string sql = "select * from table"; SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader read = cmd.ExecuteReader(); while (read.Read()) { list.Add(read[0].ToString()); list.Add(read[1].ToString()); list.Add(read[2].ToString()); list.Add(read[3].ToString()); } read.Close(); cmd.Dispose(); } catch (Exception e) { string y = e.Message; } return list; } public void Dispose() { if (conn != null) { conn.Close(); conn = null; } } } }
调用:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; namespace WebServiceTest { /// <summary> /// WebService1 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 // [System.Web.Script.Services.ScriptService] public class WebService1 : System.Web.Services.WebService { DBOperator op = new DBOperator(); [WebMethod] public string HelloWorld() { return "Hello World"; } [WebMethod(Description = "Test")] public List<string> Test() { return op.Select(); } } }
<1>EF方式
这里偷懒了,直接用来自数据库的EF
新建类DBOperator,SDTIContext
using System.Collections.Generic; using System.Linq; using System.Web; using System.Data.Entity; using System.Data; namespace DBWebService { public class SDTIContext : DbContext { public SDTIContext() : base("SDTIDB") { } } }
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace DBWebService { public class DBOperator { SDTIContext db = new SDTIContext(); public List<SDTI_TicketType> GetDB() { return db.Set<SDTI_TicketType>().GroupBy(x => x.TypeNO).Select(x => x.FirstOrDefault()).ToList(); } } }
修改webservice
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; namespace DBWebService { /// <summary> /// WebService 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 // [System.Web.Script.Services.ScriptService] public class WebService : System.Web.Services.WebService { DBOperator db = new DBOperator(); [WebMethod] public List<SDTI_TicketType> HelloWorld() { return db.GetDB(); } } }
运行测试:
以上是关于WebServices新建及连接数据库的主要内容,如果未能解决你的问题,请参考以下文章
MyEclipse图表工具Birt的使用技巧--连接webservice数据源
如何将 Rest webservices 服务器与 MFP 服务器连接起来?