将值发送到数据库,不要插入重复项

需要检查 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 正确获取值




蛊毒传说
浏览 179回答 2
2回答

呼如林

这行代码可能有问题&nbsp;cmdCount.ExecuteNonQuery();&nbsp; int count = (int)cmdCount.ExecuteScalar();按照这个它命令两次一次executenonquery然后executescalar,根据您的要求,应该只有一个调用ExecuteScalar,所以注释掉ExecuteNonQuery&nbsp; //cmdCount.ExecuteNonQuery(); comment not needed&nbsp;&nbsp; int count = (int)cmdCount.ExecuteScalar();
打开App,查看更多内容
随时随地看视频慕课网APP