service.cs
来自「微软(Microsoft)出版社C井练习文件及解答」· CS 代码 · 共 118 行
CS
118 行
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Configuration;
using System.Data.SqlClient;
using System.Diagnostics;
[WebService(Namespace = "http://www.contentmaster.com/NorthwindServices")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
public Service () {
}
//[WebMethod]
//public string HelloWorld() {
// return "Hello World";
//}
[WebMethod]
public decimal HowMuchWillItCost(string productName, int howMany)
{
SqlConnection sqlConn = null;
try
{
ConnectionStringSettings cs =
ConfigurationManager.ConnectionStrings["NorthwindConnectionString"];
string connString = cs.ConnectionString;
sqlConn = new SqlConnection(connString);
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.CommandText = "SELECT UnitPrice FROM Products " +
"WHERE ProductName = '" + productName + "'";
sqlCmd.Connection = sqlConn;
sqlConn.Open();
decimal price = (decimal)sqlCmd.ExecuteScalar();
return price * howMany;
}
catch (Exception e)
{
handleWebException(e);
throw new Exception();
}
finally
{
if (sqlConn != null)
sqlConn.Close();
}
}
[WebMethod]
public Product GetProductInfo(string productName)
{
Product product = new Product();
SqlConnection sqlConn = null;
try
{
ConnectionStringSettings cs =
ConfigurationManager.ConnectionStrings["NorthwindConnectionString"];
string connString = cs.ConnectionString;
sqlConn = new SqlConnection(connString);
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.CommandText = "SELECT * FROM Products " +
"WHERE ProductName = '" + productName + "'";
sqlCmd.Connection = sqlConn;
sqlConn.Open();
SqlDataReader productData = sqlCmd.ExecuteReader();
if (productData.Read())
{
product.ProductID = productData.GetInt32(0);
product.ProductName = productData.GetString(1);
product.SupplierID = productData.GetInt32(2);
product.CategoryID = productData.GetInt32(3);
product.QuantityPerUnit = productData.GetString(4);
product.UnitPrice = productData.GetDecimal(5);
product.UnitsInStock = productData.GetInt16(6);
product.UnitsOnOrder = productData.GetInt16(7);
product.ReorderLevel = productData.GetInt16(8);
product.Discontinued = productData.GetBoolean(9);
}
else
{
throw new ArgumentException("No such product " + productName);
}
productData.Close();
return product;
}
catch (ArgumentException e)
{
handleWebException(e);
throw e;
}
catch (Exception e)
{
handleWebException(e);
throw new Exception();
}
finally
{
if (sqlConn != null)
sqlConn.Close();
}
}
private void handleWebException(Exception e)
{
EventLog log = new EventLog("Application");
log.Source = "NorthwindServices";
log.WriteEntry(e.Message, EventLogEntryType.Error);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?