C# 通过Webservice 操作数据库

8 篇文章 0 订阅
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Drawing;
using System.Data;
using System.Collections;
using System.Text;
using System.IO;
using System.Web;
using System.Windows;
using System.Threading;

namespace WebApplication
{
    /// <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
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }

        [WebMethod(Description = "获取对应机型名称产能")]
        public String Get_Product_Total(String SERVER, String DATABASE, String UID, String PWD, String Sql_Stored_Procedure)
        {
            String Temp=String.Empty;
            String SqlConnect_Str = "server="+SERVER+";database="+DATABASE+";uid="+UID+";pwd="+PWD;
            SqlConnection sqlcon = new SqlConnection(SqlConnect_Str);
            sqlcon.Open();
            try
            {
                SqlCommand cmd = new SqlCommand(Sql_Stored_Procedure, sqlcon);
                Temp = cmd.ExecuteScalar().ToString();
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(ex.ToString());
                Console.ResetColor();
                return null;
            }
            finally
            {
                sqlcon.Close();
            }
            return Temp;
        }
        /*public Boolean Get_Product_Total(List<String> Store_Product_Name, String SERVER, String DATABASE, String UID, String PWD, String Sql_Stored_Procedure)
        {
            Boolean Flag = false;
            String SqlConnect_Str = "server="+SERVER+";database="+DATABASE+";uid="+UID+";pwd="+PWD;
            SqlConnection sqlcon = new SqlConnection(SqlConnect_Str);
            sqlcon.Open();
            try
            {
                SqlCommand cmd = new SqlCommand(Sql_Stored_Procedure,sqlcon);
                Store_Product_Name.Add(cmd.ExecuteScalar().ToString());
                Flag = true;
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(ex.ToString());
                Console.ResetColor();
                Flag = false;
            }
            finally
            {
                sqlcon.Close();
            }
            return Flag;
        }*/

        [WebMethod(Description = "获取对应获取机型名称")]
        public String[] Get_Product_Name(String Read_Product_Name, String SERVER, String DATABASE, String UID, String PWD, String Sql_Stored_Procedure)
        {
            String[] Temp = new String[100];
            String SqlConnect_Str = "server=" + SERVER + ";database=" + DATABASE + ";uid=" + UID + ";pwd=" + PWD;
            SqlConnection sqlcon = new SqlConnection(SqlConnect_Str);
            sqlcon.Open();
            int n = 0;
            try
            {
                SqlCommand cmd = new SqlCommand(Sql_Stored_Procedure, sqlcon);
                SqlDataReader sdr = cmd.ExecuteReader();
                while (sdr.Read())
                {
                    if (n == 0)
                    {
                        Temp[n] = (sdr[Read_Product_Name].ToString());
                        n++;
                    }   
                    else
                    {
                        Boolean ss = false;
                        foreach (String i in Temp)
                        {
                            if (i == sdr[Read_Product_Name].ToString())
                            {
                                ss = true;
                                break;
                            }
                        }
                        if (!ss)
                        {
                            Temp[n] = (sdr[Read_Product_Name].ToString());
                            n++;
                        }     
                    }
                }
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(ex.ToString());
                Console.ResetColor();
                return null;
            }
            finally
            {
                sqlcon.Close();
            }
            return Temp;
        }
        /*public Boolean Get_Product_Name(List<String> Store_Product_Name, String Read_Product_Name, String SERVER, String DATABASE, String UID, String PWD, String Sql_Stored_Procedure)
        {
            Boolean Flag = false;
            String SqlConnect_Str = "server=" + SERVER + ";database=" + DATABASE + ";uid=" + UID + ";pwd=" + PWD;
            SqlConnection sqlcon = new SqlConnection(SqlConnect_Str);
            sqlcon.Open();
            int n = 0;
            try
            {
                SqlCommand cmd = new SqlCommand(Sql_Stored_Procedure,sqlcon);
                SqlDataReader sdr=cmd.ExecuteReader();
                while (sdr.Read())
                {
                    if (n == 0)
                        Store_Product_Name.Add(sdr[Read_Product_Name].ToString());
                    else
                    {
                        Boolean ss = false;
                        foreach (String i in Store_Product_Name)
                        {
                            if (i == sdr[Read_Product_Name].ToString())
                            {
                                ss = true;
                                break;
                            }
                        }
                        if(!ss)
                            Store_Product_Name.Add(sdr[Read_Product_Name].ToString());
                    }
                    n++;
                }
                Flag = true;
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(ex.ToString());
                Console.ResetColor();
                Flag = false;
            }
            finally
            {
                sqlcon.Close();
            }
            return Flag;
        }*/

        [WebMethod(Description = "获取产能数据")]
        public int Get_Capacity_Data(String JobNumber, String Year_Month_Day, String SERVER, String DATABASE, String UID, String PWD, String Sql_Stored_Procedure)
        {
            //Boolean Flag = false;
            String SqlConnect_Str = "server=" + SERVER + ";database=" + DATABASE + ";uid=" + UID + ";pwd=" + PWD;
            SqlConnection sqlcon = new SqlConnection(SqlConnect_Str);
            sqlcon.Open();
            int n = 0;
            try
            {
                SqlCommand cmd = new SqlCommand(Sql_Stored_Procedure,sqlcon);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@JobNumber",JobNumber);
                cmd.Parameters.Add("@Year_Month_Day",Year_Month_Day);
                cmd.Parameters.Add("@GetTotalCount", SqlDbType.Int).Direction = ParameterDirection.Output;
                cmd.Parameters.Add("@rs", SqlDbType.Int).Direction = ParameterDirection.Output;
                cmd.ExecuteNonQuery();
                if ((int)cmd.Parameters["@rs"].Value == 0)
                {
                    n = Convert.ToInt32(cmd.Parameters["@GetTotalCount"].Value.ToString());
                }
                else
                    n=0;
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(ex.ToString());
                Console.ResetColor();
                n=25234512;
            }
            finally
            {
                sqlcon.Close();
            }
            return n;
        }

        [WebMethod(Description = "获取当前月度汇总总产能")]
        public Boolean Get_Month_Capacity_Data(List<List<int>> Month_Capacity_Data, List<String> KeyInfo, String SERVER, String DATABASE, String UID, String PWD, String Sql_Stored_Procedure)
        {
            Boolean Flag = false;
            String SqlConnect_Str = "server=" + SERVER + ";database=" + DATABASE + ";uid=" + UID + ";pwd=" + PWD;
            SqlConnection sqlcon = new SqlConnection(SqlConnect_Str);
            sqlcon.Open();
            try
            {
                foreach (String ss in KeyInfo)
                {
                    List<int> Temp = new List<int>();
                    SqlCommand cmd = new SqlCommand(Sql_Stored_Procedure,sqlcon);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@JobNumber", ss);
                    cmd.Parameters.Add("@Date_Time", DateTime.Now.ToString("yyyy-MM-dd") + @"%");
                    cmd.Parameters.Add("@TotoNumber", SqlDbType.Int).Direction = ParameterDirection.Output;//返回
                    cmd.Parameters.Add("@rs", SqlDbType.Int).Direction = ParameterDirection.Output;//返回
                    cmd.ExecuteNonQuery();
                    if ((int)cmd.Parameters["@rs"].Value == 0)
                    {
                        Temp.Add(Convert.ToInt32(cmd.Parameters["@TotalNumber"].Value));
                    }
                    else
                        Temp.Add(0);
                    Month_Capacity_Data.Add(Temp);
                }
                Flag = true;
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(ex.ToString());
                Console.ResetColor();
                Flag = false;
            }
            finally
            {
                sqlcon.Close();
            }
            return Flag;
        }

        [WebMethod(Description = "获取产品型号信息")]
        public String[] Get_Product_Type_Info(String SERVER, String DATABASE, String UID, String PWD, String Sql_Stored_Procedure)
        {
            String SqlConnect_Str = "server=" + SERVER + ";database=" + DATABASE + ";uid=" + UID + ";pwd=" + PWD;
            SqlConnection sqlcon = new SqlConnection(SqlConnect_Str);
            sqlcon.Open();
            String[] Temp = new String[20];
            try
            {
                int n = 0;
                SqlCommand cmd = new SqlCommand(Sql_Stored_Procedure, sqlcon);
                SqlDataReader sdr = cmd.ExecuteReader();
                while (sdr.Read())
                {
                    Temp[n] = (sdr["Product_Type"].ToString() + "#" + sdr["Item_Count"].ToString() + "#" + sdr["SERVER_Name"].ToString() + "#" +
                                sdr["DataBase_Name"].ToString() + "#" + sdr["SERVER_UserName"].ToString() + "#" + sdr["SERVER_Password"].ToString() + "#" +
                                sdr["TABLE_Name"].ToString() + "#" + sdr["Stored_Procedure"].ToString());// + "#" + sdr["Date_Time"].ToString());
                    n++;
                }
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(ex.ToString());
                Console.ResetColor();
                return null;
            }
            finally
            {
                sqlcon.Close();
            }
            return Temp;
        }
        /*public Boolean Get_Product_Type_Info(String []Item_Values, String []Item, String SERVER, String DATABASE, String UID, String PWD, String Sql_Stored_Procedure)
        {
            Boolean Flag = false;
            String SqlConnect_Str = "server=" + SERVER + ";database=" + DATABASE + ";uid=" + UID + ";pwd=" + PWD;
            SqlConnection sqlcon = new SqlConnection(SqlConnect_Str);
            sqlcon.Open();
            int n = 0;
            int s = 0;
            try
            {
                SqlCommand cmd = new SqlCommand(Sql_Stored_Procedure,sqlcon);
                SqlDataReader sdr = cmd.ExecuteReader();
                while (sdr.Read())
                {
                    if (s == 0)
                    {
                        Item[n] = (sdr["Product_Type"].ToString());
                        s++;
                    }  
                    else
                    {
                        Boolean IsFind = false;
                        foreach (String ss in Item)
                        {
                            if (ss == sdr["Product_Type"].ToString())
                            {
                                IsFind = true;
                                break;
                            }
                        }
                        if (!IsFind)
                        {
                            Item[s] = (sdr["Product_Type"].ToString());
                            s++;
                        }     
                    }
                    Item_Values[n]=(sdr["Product_Type"].ToString() + "#" + sdr["Item_Count"].ToString() + "#" + sdr["SERVER_Name"].ToString() + "#" +
                                sdr["DataBase_Name"].ToString() + "#" + sdr["SERVER_UserName"].ToString() + "#" + sdr["SERVER_Password"].ToString() + "#" +
                                sdr["TABLE_Name"].ToString() + "#" + sdr["Stored_Procedure"].ToString());// + "#" + sdr["Date_Time"].ToString());
                    n++;
                }
                Flag = true;
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(ex.ToString());
                Console.ResetColor();
                Flag = false;
            }
            finally
            {
                sqlcon.Close();
            }
            return Flag;
        }*/

        [WebMethod(Description = "获取员工信息")]
        public String[] Get_Employee_Info(String SERVER, String DATABASE, String UID, String PWD, String Sql_Stored_Procedure)
        {
            String[] Temp = new String[100];
            String SqlConnect_Str = "server=" + SERVER + ";database=" + DATABASE + ";uid=" + UID + ";pwd=" + PWD;
            SqlConnection sqlcon = new SqlConnection(SqlConnect_Str);
            sqlcon.Open();
            int n = 0;
            try
            {
                SqlCommand cmd = new SqlCommand(Sql_Stored_Procedure, sqlcon);
                SqlDataReader sdr = cmd.ExecuteReader();
                while (sdr.Read())
                {
                    Temp[n] = (sdr["Line_Body"].ToString() + "#" + sdr["Job_Number"].ToString() + "#" + sdr["Name"].ToString());
                    n++;
                }
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(ex.ToString());
                Console.ResetColor();
                return null;
            }
            finally
            {
                sqlcon.Close();
            }
            return Temp;
        }
        /*public Boolean Get_Employee_Info(List<String> Item_Values, List<String> Item, String SERVER, String DATABASE, String UID, String PWD, String Sql_Stored_Procedure)
        {
            Boolean Flag = false;
            String SqlConnect_Str = "server=" + SERVER + ";database=" + DATABASE + ";uid=" + UID + ";pwd=" + PWD;
            SqlConnection sqlcon = new SqlConnection(SqlConnect_Str);
            sqlcon.Open();
            int n=0;
            try
            {
                SqlCommand cmd = new SqlCommand(Sql_Stored_Procedure,sqlcon);
                SqlDataReader sdr = cmd.ExecuteReader();
                while (sdr.Read())
                {
                    if (n == 0)
                        Item.Add(sdr["Line_Body"].ToString());
                    else
                    {
                        Boolean IsFind = false;
                        foreach (String ss in Item)
                        {
                            if (ss == sdr["Line_Body"].ToString())
                            {
                                IsFind = true;
                                break;
                            }
                        }
                        if (!IsFind)
                            Item.Add(sdr["Line_Body"].ToString());
                    }
                    Item_Values.Add(sdr["Line_Body"].ToString() + "#" + sdr["Job_Number"].ToString() + "#" + sdr["Name"].ToString());
                    n++;
                }
                Flag = true;
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(ex.ToString());
                Console.ResetColor();
                Flag = false;
            }
            finally
            {
                sqlcon.Close();
            }
            return Flag;
        }*/
    
    }
}

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Xamarin是一个开发跨平台移动应用的框架,可以使用C#编写代码,并在各个主流操作系统上运行。通过使用Xamarin,我们可以通过Web服务操作SQL Server数据库。 首先,我们需要创建一个Web服务,它可以作为中间层将Xamarin客户端和SQL Server数据库连接起来。可以使用C#或ASP.NET等技术创建这个Web服务。Web服务可以使用SQL Server的数据访问技术,比如ADO.NET来进行数据库操作。 接下来,我们需要在Xamarin应用程序中引用这个Web服务。在Xamarin中,可以使用HttpClient或HttpWebRequest进行网络请求,通过调用Web服务的接口来与数据库进行通信。可以使用SOAP协议或RESTful风格的Web API来定义和实现这些接口。 在Xamarin应用程序中,我们可以创建一个数据访问层,用于处理与Web服务的通信和数据交互。我们可以封装所有与Web服务相关的细节,包括请求参数的封装、发送和接收请求、处理响应数据等。通过调用数据访问层的方法,我们可以实现从数据库中查询、插入、更新或删除数据。 在Xamarin应用程序的UI层,我们可以根据需要设计并实现各种界面,用于展示数据库中的数据或接收用户输入。我们可以通过与数据访问层的交互来获取或更新数据库中的数据,并将其显示在界面上,或者将用户输入的数据传递给数据访问层进行数据库操作。 总之,通过使用Xamarin和Web服务,我们可以方便地在移动应用中与SQL Server数据库进行交互。通过将数据访问层封装,我们可以更好地管理和维护数据库操作的代码,提高开发效率和代码质量。同时,Xamarin的跨平台特性也使得我们可以将这一功能应用于多个操作系统的移动设备上。 ### 回答2: Xamarin是一款跨平台的移动应用开发框架,通过使用C#语言和.NET平台来实现移动应用程序的开发。而Web Service是一种能够使用标准的HTTP协议进行通信的应用程序编程接口(API),它允许不同的应用程序之间进行数据交换。 在Xamarin应用程序中操作SQL Server数据库可以通过使用WebService来实现。首先,我们需要在服务器上创建一个WebService,这个WebService将提供一组用于操作SQL Server数据库的方法。这些方法可以包括查询、插入、删除和更新数据等操作。 在Xamarin应用程序中,我们可以使用HttpClient或HttpWebRequest类来发送HTTP请求并接收WebService的响应。我们可以调用WebService中的方法来执行数据库操作,例如查询特定数据表中的数据或往数据库中插入新的数据等。通过将WebService的URL地址传递给HttpClient或HttpWebRequest类,我们可以在Xamarin应用程序中与WebService进行通信。 在使用WebService进行数据库操作时,我们需要确保WebService的安全性。可以使用HTTPS协议来确保数据的安全传输。另外,我们还可以使用Web服务身份验证来确保只有经过身份验证的用户才能访问并执行数据库操作。 总结来说,通过使用Xamarin中的HttpClient或HttpWebRequest类和WebService,我们可以在移动应用程序中操作SQL Server数据库。这样可以实现数据的查询、插入、删除和更新等操作,并确保数据的安全传输和访问控制。 ### 回答3: Xamarin是一个跨平台的移动应用开发框架,它可以用于创建适用于Android和iOS平台的应用程序。通过使用Xamarin,可以通过WebService对SQL Server数据库进行操作WebService是一种基于标准Web协议的应用程序编程接口(API),它可以通过HTTP进行通信,并使用XML格式来传递数据。为了在Xamarin应用中使用WebService操作SQL Server数据库,首先需要创建一个适当的WebService。 在SQL Server数据库中,可以使用ASP.NET或其他编程语言(如C#)来创建WebServiceWebService可以提供一系列方法或函数,用于执行数据库操作,例如查询数据、插入、更新和删除记录等。 在Xamarin应用中,可以使用HttpClient来调用WebService的方法。通过HttpClient,可以发送HTTP请求到WebService的URL,并接收响应。使用WebService提供的方法,可以向SQL Server数据库发送SQL查询,并获取结果。 例如,可以在Xamarin应用中创建一个按钮,当用户点击该按钮时,调用WebService的方法来查询某个表中的记录。在点击事件处理程序中,使用HttpClient发送HTTP请求到WebService的URL,并传递相应的参数。WebService接收到请求后,执行SQL查询并返回结果。在Xamarin应用中,可以解析WebService返回的结果,并将其展示给用户。 总结而言,通过使用Xamarin和WebService,可以实现对SQL Server数据库操作WebService提供了一种标准的接口,用于在Xamarin应用中执行数据库操作。通过发送HTTP请求和解析响应,可以实现数据的查询和更新等常用操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值