データベースを更新する Web サービス機能があります。Web アプリケーションから呼び出したいのですが、うまくいきません。Web サービスを呼び出した後は、Web サービスを介して更新できますが、Web アプリケーションを介して更新することはできません。サービス関数を呼び出すコードは正しいですか?
これが私のWebサービス更新機能です:
[WebMethod(EnableSession = true)]
public string sell_item(string name, string photo, string description, string initial_price, string bid_time)
{
SqlConnection con = new SqlConnection("Data Source=USER-PC;Initial Catalog=Bidding;Integrated Security=True");
con.Open();
SqlCommand cmd = new SqlCommand("UPDATE login SET name = @name, photo = @photo, description = @description, initial_price = @initial_price, bid_time = @bid_time where username='"+ Session["username"] +"'", con);
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@photo", photo);
cmd.Parameters.AddWithValue("@description", description);
cmd.Parameters.AddWithValue("@initial_price", initial_price);
cmd.Parameters.AddWithValue("@bid_time", bid_time);
cmd.ExecuteNonQuery();
con.Close();
return "Product has been upload successfully!";
}
これは、関数を呼び出す Web アプリケーション コードです。
public partial class bidpage : System.Web.UI.Page
{
abc.Service a = new abc.Service();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = Convert.ToString(a.sell_item(Convert.ToString(TextBoxProduct.Text), Convert.ToString(TextBoxPhoto.Text), Convert.ToString(TextBoxDescription.Text), Convert.ToString(TextBoxPrice.Text), Convert.ToString(TextBoxBidTime.Text)));
}
}
私のsqlcommandでは、WHEREを削除しようとしています.Webアプリケーションはデータをデータベースに更新できますが、すべての行で更新されたデータはすべて同じです。しかし、Session["username"] に続いて WHERE ステートメントをそこに戻すと、Web アプリケーションの更新でデータが保存されません。これについて何か助けはありますか?セッションを使用してデータを更新する方法が本当にわかりません。