1

Visual Studio 2010 で Web サービスを作成しました。コマンドとその説明を含むテーブルを含むデータベースを作成しました。私のプログラムは次のとおりです: My class:-DataHelper.cs

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data;
using System.Data.SqlClient;

/// <summary>
/// Summary description for DataHelper
/// </summary>

    public class DataHelper
    {
        public static string GetData(string Command)
        {
            string Explanation = " ";
            SqlConnection con = new SqlConnection(@"Data Source=CSS-L3-D008;Initial Catalog=works1;Integrated Security=true;");
            SqlCommand cmd = new SqlCommand("Select Explanation from Data1 where Command= '" + Command.ToUpper() + "'", con);
            con.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                Explanation = dr["Explanation"].ToString();
            }
            dr.Close();
            con.Close();
            return Explanation;

        }
    }

そして Service1.asmx

Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel

' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
' <System.Web.Script.Services.ScriptService()> _
<System.Web.Services.WebService(Namespace:="http://tempuri.org/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class Service1
    Inherits System.Web.Services.WebService

    Private Property DataHelper As Object

    <WebMethod()>
    Public Function HelloWorld() As String
        Return "Hello World"
    End Function


    <WebMethod()>
    Public Function GetData(Command) As String

        Return DataHelper.GetData(Command)
    End Function
End Class

問題は、それを実行すると、Webmethods HelloWorld と GetData の両方が取得されますが、GetData が機能しないことです。HelloWorld() をクリックすると、invoke メソッドが取得され、適切に実行されます。 「テストフォームは、プリミティブ型をパラメーターとして持つメソッドでのみ使用できます」と表示されます。実際には、コマンドを入力できるボックスが表示され、説明がSQLサーバーから返されるはずです。助けてください。

4

1 に答える 1

1

サービスの GetData メソッドは、Command パラメーターの型を宣言する必要がありますか?:

<WebMethod()>
Public Function GetData(Command As String) As String
    Return DataHelper.GetData(Command)
End Function
于 2012-08-10T13:39:32.790 に答える