需要檢查 TextBox 中的值是否已經在數據庫中,以及是否不再將其保存在數據庫中。這是文本框代碼: <tr> <td> <asp:Label ID="lblProductConstruction" runat="server" Text="Product Construction:" Font-Names="Open Sans"></asp:Label></td> <td> <asp:TextBox ID="txtProductConstruction" runat="server" Font-Names="Merriweather" margin-Left="100px" ></asp:TextBox><br /> </td> </tr> <tr>保存按鈕:<input type="button" class="button" id="myButton" value="Save"/>單擊按鈕時的 Ajax: $(function () { $('#myButton').on('click', function () { var lvl = $('#MainContent_txtProductConstruction').val() $.ajax({ type: "POST", url: "NewProductConstruction.aspx/GetCollection", data: JSON.stringify({'lvl': lvl }), contentType: "application/json; charset=utf-8", dataType: "json", success: function (response) { alert("Saved successfully."); console.log(response); location.reload(true); }, error: function (response) { alert("Not Saved!"); console.log(response); location.reload(true); } }); }); });第一個過程是嘗試在數據庫中查找值的選擇。如果此選擇找到某些內容,則 Count 必須大于 0,這應該關閉連接。如果 select 沒有返回任何東西,那么這個新值必須插入到數據庫中。我已經執行并測試了這些存儲過程,它們工作正常。問題出在 C# 中,我想我在這里做錯了,這不能正常工作。有人可以幫我處理 c# 部分嗎?順便說一句:Ajax 工作正常,WebMethod 正確獲取值
2 回答

呼如林
TA貢獻1798條經驗 獲得超3個贊
這行代碼可能有問題
cmdCount.ExecuteNonQuery();
int count = (int)cmdCount.ExecuteScalar();
按照這個它命令兩次一次executenonquery然后executescalar,
根據您的要求,應該只有一個調用ExecuteScalar,所以注釋掉ExecuteNonQuery
//cmdCount.ExecuteNonQuery(); comment not needed
int count = (int)cmdCount.ExecuteScalar();
- 2 回答
- 0 關注
- 202 瀏覽
添加回答
舉報
0/150
提交
取消