この質問は完全に冗長である可能性があり、申し訳ありません。しかし、フラッシュビルダーを使用してWebサービスにデータを送信するAndroidアプリにこのコードがあります
var ResponseValue:int = 1;
var QuestionID:int = data.QuestionID;
ResultsQuestion = new ArrayCollection();
ResultsQuestion.addItem({"ResultSEQ":10000});
ResultsQuestion.addItem({"QuestionID":QuestionID});
ResultsQuestion.addItem({"ResponsePromptID":chk1.name});
ResultsQuestion.addItem({"ResponseValue":ResponseValue});
var service:HTTPService = new HTTPService();
service.url = "http://IPaddress:443/InsertData/Service1.asmx/HelloWorld";
//service.url = "http://localhost/InsertData/InsertData/Service1.asmx/HelloWorld";
service.method="POST";
var parameters:Object = new Object();
parameters["ResponsePromptID"]= ResultsQuestion.getItemAt(2).ResponsePromptID;
parameters["QuestionID"]= ResultsQuestion.getItemAt(1).QuestionID;
parameters["ResponseValue"]= ResultsQuestion.getItemAt(3).ResponseValue;
service.send(parameters);
そして、返されたこのデータを SQLServer に挿入したいと思います。そのために、この Web サービスを作成しました。
[WebMethod]
public string HelloWorld()
{
string Message;
string MyConString = "Data Source=.\\SQLEXPRESS;Server=nameof server;Database=dbname;User ID=id;Password=password;Trusted_Connection=False; ";
System.Data.SqlClient.SqlConnection DbConnection = new System.Data.SqlClient.SqlConnection(MyConString);
DbConnection.Open();
SqlCommand DbCommand = DbConnection.CreateCommand();
string QuestionID= System.Web.HttpContext.Current.Request.Params["QuestionID"];
// string QuestionID = "89";
string ResultSEQ = "1999";
string ResponsePromptID =System.Web.HttpContext.Current.Request.Params["ResponsePromptID"];
// string ResponsePromptID ="343";
string ResponseValue = "12";
DbCommand.CommandText = "Insert into [dbo].[tablename] (ResultSEQ,QuestionID,ResponsePromptID,ResponseValue) Values( @ResultSEQ,@QuestionID,@ResponsePromptID,@ResponseValue)";
DbCommand.Parameters.AddWithValue("@ResultSEQ", ResultSEQ);
DbCommand.Parameters.AddWithValue("@QuestionID", QuestionID);
DbCommand.Parameters.AddWithValue("@ResponsePromptID", ResponsePromptID);
DbCommand.Parameters.AddWithValue("@ResponseValue", ResponseValue);
int result = DbCommand.ExecuteNonQuery();
if (result == 1)
{
Message = "1";
}
else
{
Message = "2"; ;
}
DbConnection.Close();
return Message;
}
}
しかし、挿入されたデータは表示されず、エラーも表示されません。だから、何が悪いのかわからない。おそらくこれ全体が間違っています。しかし、このコードの問題点を教えてください。また、フレックス HTTPService によって送信されたデータを確認する方法はありますか? どうもありがとう!