Проверьте дублирование с базой данных ASP.NET с#
У меня есть подробное представление и кнопка, и я хочу, когда я нажимаю на кнопку, чтобы проверить, есть ли имя пользователя уже в базе данных или нет, я попробовал приведенный ниже код, но он переходит к оператору else, даже если имя пользователя существует.
Я хочу показать сообщение об ошибке вместо страницы ошибки, мой вопрос в том, куда я должен поместить свой код .. Кто-Нибудь Поможет??
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" CellPadding="4" DataKeyNames="Username" DataSourceID="SqlDataSource3" ForeColor="#333333" GridLines="None" Height="50px" Width="283px" style="margin-top: 0px; text-align: left;" onitemupdated="DetailsView1_ItemUpdated" onitemdeleted="DetailsView1_ItemDeleted" oniteminserted="DetailsView1_ItemInserted" DefaultMode="Insert" oniteminserting="DetailsView1_ItemInserting"> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> <CommandRowStyle BackColor="#E2DED6" Font-Bold="True" /> <EditRowStyle BackColor="#999999" /> <FieldHeaderStyle BackColor="#E9ECF1" Font-Bold="True" /> <Fields> <asp:TemplateField HeaderText="Username" SortExpression="Username"> <EditItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Eval("Username") %>'></asp:Label> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Username") %>' ValidationGroup="1"></asp:TextBox> <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="*" ControlToValidate="TextBox1" ForeColor="Red" ValidationGroup="1"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label2" runat="server" Text='<%# Bind("Username") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Password" SortExpression="Password"> <EditItemTemplate> <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Password") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Password") %>' ValidationGroup="1"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBox2" ErrorMessage="*" ForeColor="Red" ValidationGroup="1"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> </ItemTemplate> <ControlStyle /> </asp:TemplateField> <asp:TemplateField HeaderText="UserType" SortExpression="UserType"> <EditItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("UserType") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:DropDownList ID="DropDownList4" runat="server" ConnectionString ="<%$ConnectionStrings: ConnectionString %>" SelectedValue='<%# Bind("UserType") %>' ValidationGroup="1"> <asp:ListItem>--Select--</asp:ListItem> <asp:ListItem>employee</asp:ListItem> <asp:ListItem>doctor</asp:ListItem> <asp:ListItem>student</asp:ListItem> </asp:DropDownList> <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="DropDownList4" ErrorMessage="*" ForeColor="Red" InitialValue="--Select--" ValidationGroup="1"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Bind("UserType") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:CommandField ButtonType="Button" ShowInsertButton="True" ValidationGroup="1" /> </Fields> <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> </asp:DetailsView>
Что я уже пробовал:
protected void Button2_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); string query = "select Username from [Login]"; SqlCommand cmd = new SqlCommand(query); SqlDataAdapter sqlda = new SqlDataAdapter(cmd.CommandText, con); DataTable dt = new DataTable(); sqlda.Fill(dt); int RowCount = dt.Rows.Count; for (int i = 0; i < RowCount; i++) { Label13.Text = ((TextBox)DetailsView1.FindControl("TextBox1")).Text; Label14.Text = dt.Rows[i]["Username"].ToString(); if (Label13.Text == Label14.Text) { string message = "Username is Already Exists"; System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("<script type = 'text/javascript'>"); sb.Append("window.onload=function(){"); sb.Append("alert('"); sb.Append(message); sb.Append("')};"); sb.Append("</script>"); ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", sb.ToString()); } else { string message = "SuccessFully Saved"; System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("<script type = 'text/javascript'>"); sb.Append("window.onload=function(){"); sb.Append("alert('"); sb.Append(message); sb.Append("')};"); sb.Append("</script>"); ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", sb.ToString()); } } }
[no name]
Отладчик, вероятно, может точно сказать вам, почему.
R.M49
как это исправить
[no name]
Вы делаете то же, что и все остальные, и используете отладчик, чтобы найти и исправить свою проблему.