【问题标题】:.Net - I want to compare a value from a TextBox with Database values.Net - 我想将 TextBox 中的值与数据库值进行比较
【发布时间】:2015-02-23 16:15:05
【问题描述】:

我有这个 InsertItemTemplate 插入,在我的例子中,诊断(如您所见,葡萄牙语中的“diagnósticos”)。

<InsertItemTemplate>
        <asp:HiddenField ID="DiagnosticoID" Value='<%# Eval("Diagnostico_ID") %>' runat="server" />
        <asp:TextBox ID="DiagnosticoNome"  MaxLength="20" Text='<%# Bind("Diagnostico_Nome") %>' runat="server" />
       <!--OTHER VALIDATORS HERE-->
        <asp:CustomValidator
            ErrorMessage="Esse Diagnóstico já existe!!!"
            ControlToValidate="DiagnosticoNome"
            OnServerValidate="MesmoDiagnostico_ServerValidate"
            Display="Dynamic"
            ForeColor="#FF000" runat="server" />
        <asp:Button ID="Adicionar" runat="server" Text="Adicionar" CommandName="Insert" />
        <asp:Button ID="Cancelar" runat="server" Text="Cancelar" CommandName="Cancel" />
     </InsertItemTemplate>

所以,我创建了一个 CustomValidator,因为我想检查诊断的名称是否已经存在于数据库中。我搜索了如何在 C# 上使用 SqlConnection,但仍然无法做到。我打算做的是选择我拥有的所有诊断名称,并与我要插入的诊断进行比较。如果已经存在,则说明有错误,否则,一切正常!

现在,我有这个:

 protected void MesmoDiagnostico_ServerValidate(object source, ServerValidateEventArgs args)
    {
        SqlConnection db = new SqlConnection("Data Source=localhost;");
        db.Open();
        SqlCommand cmd = new SqlCommand("Select Diagnostico_Nome from Diagnosticos", db);


    } 

感谢您的帮助! :P

【问题讨论】:

    标签: c# sql .net validation


    【解决方案1】:

    在 Sql 语句中使用 COUNT(*) 和 Where 子句。

    类似(假设来源是您要比较的文本?),

    SqlCommand cmd = new SqlCommand("Select COUNT(*) from Diagnosticos Where Diagnostico_Nome=@Diagnostico_Nome", db);
    cmd.Parameters.AddWithValue("@Diagnostico_Nome", (string)source);
    var count = (int)cmd.ExecuteScalar();
    
    if (count > 0)
        // This exists in the DB   
    

    我还建议将 SqlConnection 和 SqlCommand 包装在 using 块中。

    【讨论】:

    • 谢谢,但现在我正在为 SqlConnection 苦苦挣扎。它总是给我连接错误,不管我怎么说连接字符串/数据库是。我正在使用在 App_Data 文件夹上创建的 localdb,这是我的 webconfig 文件中的连接字符串。
    猜你喜欢
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多