2013-01-24 96 views
1

我有一個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我儘量去除在哪裏,我的Web應用程序可以將數據更新到數據庫,但對於所有行更新的數據都是一樣的。但是當我在Session [[username]]後面加上WHERE語句時,我的web應用程序更新將不會存儲任何數據。 對此有何幫助?我真的不知道如何使用會話更新我的數據。

+1

有什麼異常? – daryal

+0

@daryal當我運行我的Web服務時,更新過程完美地工作。但是當我嘗試在我的Web應用程序中調用我的服務功能並單擊該按鈕時,它不會更新我的數據庫表信息。 – Ching

+0

becoz如果我沒有錯,Session [「username」]爲空 – Tuscan

回答

0

將您的Web服務添加到您的服務參考中。

它會生成一個客戶端。爲您的服務創建一個客戶端。您可以通過客戶端訪問該方法。

Yourservice.ServiceClient client = new Yourservice.ServiceClient(); 
client.SellItem(); 
+0

我已將我的Web服務添加到我的服務參考中。我遵循你的代碼,但是我在命名空間CommonServiceClient上出錯。 – Ching

+0

你的服務名稱是什麼?那只是一個樣本。 – Sajeetharan

+0

是的。我已經把我的服務名稱。它仍然是行不通的。當我點擊按鈕時,它不會將我的信息存儲到我的數據庫中,以查看我輸入的文本框的內容。 – Ching

0

你可以做的是添加一個try catch,看看你是否可以捕獲異常並返回一個字符串,如果它有錯誤。

相關問題