Я просто зациклен на том, что делать с этим кодом, я просто пытаюсь реализовать улов «нет дубликатов» в моей форме вставляемого клиента, но он просто проскакивает через оператор if к другому. Это источник. Также я попробовал .equals с теми же результатами :(Сравнивать значения из источника данных с строкой
Protected Sub srcAllClients_Inserting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceCommandEventArgs) Handles srcAllClients.Inserting
'Establish Variables
Dim emailAddress As String
Dim srcUsers As SqlDataSource = New SqlDataSource()
srcUsers.ConnectionString = ConfigurationManager.ConnectionStrings("ISSD21ConnectionString").ConnectionString
Dim view As DataView
view = DirectCast(srcUsers.Select(DataSourceSelectArguments.Empty), DataView)
srcUsers.SelectCommand = "SELECT EmailAddress FROM ISSDClients"
srcUsers.DataSourceMode = SqlDataSourceMode.DataReader
Dim reader As IDataReader
reader = DirectCast(srcUsers.Select(DataSourceSelectArguments.Empty), IDataReader)
emailAddress = FormView1.FindControl("txtEmail").ToString
While reader.Read()
If reader("EmailAddress") = (emailAddress) Then
lblError.Text = "Your Email is NOT Unique!"
'this is where we cancel the update and return an error
Else
lblError.Text = "Your Email is Unique!"
'nothing needs to happen, maybe just tell them that it went through
End If
End While
reader.Close()
End Sub
Хороший вопрос! Я пропустил это в своем оригинальном блеске ... – Achilles
Thx для подсказки, прямо на деньги. Только код, который вы мне даете, ... Ошибка 1 'TextBox' является типом и не может использоваться как выражение. \t Ошибка 2 ')'. – javArc
Ах, извините, мой VB довольно ржавый. Кастинг отличается - код должен быть emailAddress = CType (FormView1.FindControl ("txtEmail"), TextBox) .Text – womp