1

私は、Date を .Net Webservice に送信する Android アプリを構築するために懸命に取り組んできました。Web サービスは、単純な挿入ステートメントを実行して、データをデータベースに挿入します。私は多くのことを試しましたが、それを理解できませんでした。答えを得るためにすべてを投稿します。

これが私の単純な.net Webサービスです

[WebMethod]
public void insert_data(string id,string name, string lname,DateTime date)
{
     using (SqlConnection conn = new SqlConnection("Data Source=BILGISAYAR;Initial Catalog=RotanetLocal;Persist Security Info=True;User ID=xxx;Password=xxx"))
     {
         conn.Open();
         SqlCommand comm = new SqlCommand("insert into TestTable (id,name,lname,date) values('" + id+ "','" + name + "','" + lname + "','"+date+"')", conn);
         comm.ExecuteNonQuery();
         conn.Close();
     }
}

これは、日付オブジェクトを送信するアンドロイドからの私のコードです

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("id",16);
request.addProperty("name","arif");
request.addProperty("lname","arif");
request.addProperty("date",Calendar.getInstance());

データベースを確認すると、日付が null として挿入されていることがわかります。「01/01/2012」を静的に指定しようとしました。しかし、再びnullを挿入します。

Android Javaから.net Webサービスに日付をどの形式で送信する必要がありますか?

4

1 に答える 1

0

私は自分の質問を解決しました。私がしたことは以下の通りです。

Java(Android)から日付として送信するものを確認してください

  request.addProperty("date","2013-01-02");

.net Web サービスで、datetime を使用し、以下のようにフォーマットします。

  [WebMethod]
    public void insert_data(string id,string name, string lname,DateTime date,byte[] image1)
    {
        using (SqlConnection conn = new SqlConnection("Data Source=ARIF-BILGISAYAR;Initial Catalog=RotanetLocal;Persist Security Info=True;User ID=sa;Password=1"))
        {
            conn.Open();
            SqlCommand comm = new SqlCommand("insert into TestTable (id,name,lname,date,image1) values(@id,@name,@lname,@date,@image1)", conn);
            comm.Parameters.AddWithValue("@id", id);
            comm.Parameters.AddWithValue("@name", name);
            comm.Parameters.AddWithValue("@lname", lname);
            comm.Parameters.AddWithValue("@date", date.ToString("yyyyMMdd"));
            comm.Parameters.Add("@image1", SqlDbType.Image);
            comm.Parameters["@image1"].Value = image1;


            comm.ExecuteNonQuery();
            conn.Close();
        }
    }
于 2013-05-17T21:14:33.200 に答える