入力をWebサービスに送信するときに問題に直面しています。
ここに私のコード:
Protected Sub Button5_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Saman.Click
SamanDB.DataSource = Nothing
SamanDB.DataBind()
Dim str As String
str = TextBox1.Text
>> Dim copsdataXML As String = myCOPSWeb.Summon(str)
Dim dsReader As StringReader = New StringReader(copsdataXML)
Dim DS As DataSet = New DataSet()
DS.ReadXml(dsReader)
SamanDB.DataSource = DS
SamanDB.DataBind()
End Sub
そしてここにウェブサービス:-
public string Summon(string Input1)
{
SqlDataAdapter dbadapter = null;
DataSet returnDS = new DataSet();
using (SqlConnection dbconn = new SqlConnection(
"Server=11.2.6.10;"
+ "Database=POLIS;"
+ "User ID=*******;"
+ "Password=*******;"
+ "Trusted_Connection=False;"))
{
SqlCommand cmd = new SqlCommand();
string sqlQuery = "select * from SUMMON where ic_no=@Input1";
cmd.CommandText = sqlQuery;
cmd.Connection = dbconn;
dbadapter = new SqlDataAdapter(cmd);
cmd.Parameters.Add("@Input1", SqlDbType.VarChar).Value = Input1;
dbadapter.Fill(returnDS);
}
return returnDS.GetXml();
}
TextBox1.Text を Input1 として Web サービスに送信したいと考えています。これが私が得る例外です:-
SoapException がユーザー コードによって処理されませんでした。
System.Web.Services.Protocols.SoapException: サーバーは要求を処理できませんでした。---> System.Data.SqlClient.SqlException: パラメータ化されたクエリ '(@Input1 varchar(8000))select * from SUMMON where ic_no=@Input1' には、指定されていないパラメータ @Input1 が必要です。