1

我一直在努力构建一个 android 应用程序来将 Date 发送到 .Net Webservice。Web 服务执行一个简单的插入语句来将数据插入到数据库中。我已经尝试了很多事情,但无法弄清楚。我会发布所有内容以获得答案。

这是我简单的 .net 网络服务

[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();
     }
}

这是我来自android的代码,它发送日期对象

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

当我检查数据库时,我看到该日期被插入为空。我试图将“01/01/2012”作为静态。但它再次插入null。

我应该以什么格式将日期从 android java 发送到 .net webservice?

4

1 回答 1

0

我解决了我自己的问题。我所做的如下。

检查您从 Java(android) 发送的日期

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

在您的 .net 网络服务中,使用 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 回答