If Statement - Testing Multiple Values For Equality?
Mar 26, 2009How do you test multiple values for equality in one line?
Basically I want to do
if (val1 == val2 == val3 == ... valN)
but in VB.Net.
How do you test multiple values for equality in one line?
Basically I want to do
if (val1 == val2 == val3 == ... valN)
but in VB.Net.
I have a Do loop that I want to exit once it goes through without making any changes to an object I created. I figured the best way to do this was to create a temporary copy of the object at the beginning of the loop and then compare that to the actual object at the end of the loop to determine whether any changes were made to it. The problem occurs when variables are accessed and copied by reference. I have tried to use some of the methods such as .Clone and .Equals (maybe I shouldn't be using these, but I didn't see any better built-in methods), but I seem to be doing some stuff wrong. Can somebody give me an example of a good way to copy an object for later equality testing, and how to do the equality testing?
View 5 RepliesIs this not the correct way to do this? I get an error with it but if I change it to only one value then it works.
If dt2.Rows(0)("STATUS") = "COMP" Or "CLOSE" Or "CAN" Or "INCOMP" Or "WAPPR" Then
dt.Rows(currentRow).Delete()
End If
I have this SQL:
SELECT count (1) FROM users AS total_drafts WHERE version_replace = @sid
SELECT count (1) AS unpublished_drafts FROM users WHERE version_replace = @sid AND moderated = 0
[code].....
So I'm writing the equality operator overload (Operator =())for a custom object, and the resulting mess of If conditionals is just an eyesore. But so far, it seems like the only sane way to check the values to as to match the specific behavior of this object.
The rules are:Num1 is required, period, and both the left and right operands and must be equal for True. Else, False.Num2 is optional, but if specified, must be present for both the left and right operands, and must be equal for True. Else, False.Num3 is optional, but can only be specified if Num2 is also present. Else, False.Num3, if specified, must be present for both the left and right operands, and must be equal for True. Else, False.
[Code]..
I also know that I could cache elements of the checks into booleans and then use those to reduce the amount of text. But that seems like a waste of cycles just for code readability. So I wanted to know if the SO community had better thoughts on reorganizing it, just in case I'm being too verbose with my checks.
What iam trying to do is selecting rows on multiple column values. But the statement below doesn't preform like i thought it would...
Code:
Select Distinct Variable From TableName Where (ColumnA Like"%AAA%") And (ColumnA Like"%BBB%")
I am doing regression testing using NUnit, WatiN and VB.net. What I am doing is opening an IE page, selecting some data, making a registration and then on view registration page testing the registration by assertion. Any good way to use try and catch on every assert. i am using it because if some assert fails it will stop executing the rest of the statement and quits without running rest of the tests. Now I have put try and catch on every assert and writing the fail message in log file.
For instance If I am checking for some airline reservation booking. After creating a booking, On view Booking Summary Page I am testing weather it is displaying cancel booking button or not. For this I am using the following code:
Try Assert.IsTrue(_internetExplorer.Button(Find.ById(New Regex("CBooking"))).Exists)
Catch ex As Exception d_logger.LogResultTextFile("Cancel Button does not Exist", True, False) End Try
I am checking this by running this in a loop for no of bookings created. I want to keep running the test even if in one booking it wont finds the button but keep checking for other bookings.
I've got the hang of using dates now, but I haven't learned how to test multiple results of a query. I can return a value from a query, but I'm unsure how to return many without putting them into a data grid view or an object on the form. (In Visual Basic)I have to check when a particular investment needs to be bought or sold, there will be more than one in almost every case. I've got the function to find out the interval between the months, checking if the asset is bought or sold in month x, but I'm unsure how to test it against multiple assets at once - nor do I know the best way to do so.
View 12 RepliesI am a new student of Visual Basic. I am using Vis. Studio 2010. Is there some sample VB code that I can gain access to that shows how to test on multiple selections that were selected within a listbox using the "For each" construct? In this scenario, multiple items have been selected but not 100% of them. I need to know how to test on which ones are selected as I examine each one in the list using the "For each" construct.
View 2 RepliesI cant get this SQL statement to insert any of the values in the form to add to the database
sql
sql = "INSERT INTO prevresults (ExamDate, ExamTime, CorrectAnswers, PassPercentage) VALUES (date.now, time.now, rightanswers, percentage.text)"
[code]....
I'm looking into adding some unit tests for some classes in my data access layer and I'm looking at an update routine that has no return value.It simply updates a row based on the id you provide at whichever column name you provide.Inside of this method, we collect the parameters and pass them to a helper routine which calls the stored procedure to update the table.Is there a recommended approach for how to do unit testing in such a scenario?
View 4 RepliesI use VS team system 2008. At the moment i need to test some business classes, i have found two kinds testing NUnit and the unit testing provided by the VS team system. what are there differences?
View 1 RepliesWhen I click on button1, employee_id and P values need to be transferred from button1_click to Cal_Category13() and go through all the calculation. After the calculation, udtnew.X and udtnew.MTD values need to be transferred back to button1_Click
I've no problem to return multiple values Cal_Category13().MTD and Cal_Category13().X from Cal_Category13() to button1_Click but i've no idea how to transfer employee_id and p values from button1_click to Cal_Category13().
Program Code
Public Structure PCB
Public Employee_ID As String
Public MTD As Decimal
[Code]......
I'm building an Active Directory wrapper in VBNET 2.0 (can't use later .NET) in which I have the following:
IUtilisateur
IGroupe
IUniteOrganisation
These interfaces are implemented in internal classes (Friend in VBNET), so that I want to implement a façade in order to instiate each of the interfaces with their internal classes. This will allow the architecture a better flexibility, etc.Now, I want to test these classes (Utilisateur, Groupe, UniteOrganisation) in a different project within the same solution. However, these classes are internal. I would like to be able to instantiate them without going through my façade, but only for these tests, nothing more.
[Code]...
I have simple columns and their respective sums. However, I exclude 1 particular value from each sum, like so [code]...
Now I need to exclude another value ("Awaiting Progression") from a second column called "PROGRESSION".
Since I already exclude value based on 1 column called CATEGORY, how do I change my =Sum(Code.ExcludeOthers(Fields!CATEGORY.Value,Fields!ACTION_PLAN_NEW.Value)) to exclude a value from the PROGRESSION column if it's = ("Awaiting Progression") ?
i.e. How do I exclude multiple values, depending on values in 2 columns in SSRS 2005?
I've got a heavily used web application that, for the first time in 2 years, failed doing an equality check on two doubles using the equality function a colleague said he'd also been using for years. The goal of the function I'm about to paste in here is to compare two double values to 4 digits of precision and return the comparison results. For the sake of illustration, my values are:
Dim double1 As Double = 0.14625000000000002 ' The result of a calculation
Dim double2 As Double = 0.14625 ' A value that was looked up in a DB
If I pass them into this function:
Public Shared Function AreEqual(ByVal double1 As Double, ByVal double2 As Double) As Boolean
Return (CType(double1 * 10000, Long) = CType(double2 * 10000, Long))
End Function
the comparison fails. After the multiplication and cast to Long, the comparison ends up being:
Return 1463 = 1462
I'm kind of answering my own question here, but I can see that double1 is within the precision of a double (17 digits) and the cast is working correctly. My first real question is: If I change the line above to the following, why does it work correctly (returns True)?
Return (CType(CType(double1, Decimal) * 10000, Long) = _
CType(CType(double2, Decimal) * 10000, Long))
Doesn't Decimal have even more precision, thus the cast to Long should still be 1463, and the comparison return False? I think I'm having a brain fart on this stuff...Secondly, if one were to change this function to make the comparison I'm looking for more accurate or less error prone, would you recommend changing it to something much simpler? For example:
Return (Math.Abs(double1 - double2) < 0.0001)
Would I be to try something like:
Return (double1.ToString("N5").Equals(double2.ToString("N5")))
I have a Label and a textbox that both contain strings. I want to compare the two strings like this:
If TextBox5.Text = Label18.Text Then
Label4.Text = "CLOSED"
Else
Label4.Text = "OPEN"
End If
Something in there is not working however. Has anyone done something similar?
I am attempting to compare a bitwise clone object to its parent to check for changes using:
If Not objCP.Equals(objCPClone) Then
'do something
End If
and it always compares as not equal even immediately after creating the clone. How should they be compared to check for changes?
I have a method that takes an System.Action, this is what I'm trying to feed it:Function() Me._existingImports = Me.GetImportedAds()
The thing is that it complains about the = sign since it thinks I'm trying to do a comparison, which I'm not. I want to assign the Me._existingImports the value of Me.GetImportedAds(), but VB.NET complains about DataTable not having a = operator.
How can I force it to use the assignment operator instead of the equality operator?
In C# this works perfectly fine: () => this.existingImports = this.GetImportedAds()
For now the solution will be to use a standalone method, but that's way more code than needed.
I have two objects that are derived from same the base class. ets say ObjA is the base class, and ClassB and ClassC inherits ObjA. f I have a dim lst1 as List(Of ClassB) im list2 as List(Of ClassA)nd and I want to check for the existence of something being in lst1 that it is in list2, now I am only interested in comparing against one key bit of information that it is declared in the base class and is a string. How can I iterate through the lst1 comparing against list2? I thought I could I overload/override the Equals method but I am having no joy for either of the classes and say some thing similar to
Public Overloads Overrides Function Equals(ByVal obj As Object) As Boolean
Dim temp As ClassA = TryCast(obj, ClassA)
If temp.Id = Me.Id Then
[code].....
I have several entities I need to make IEquatable(Of TEntity) respectively. I want them first to check equality between EntityId, then if both are zero, should check regarding to other properties, for example same contact names, same phone number etc. How is this done?
View 1 RepliesI am entering a value in textbox and click the find button. In the button click i've written the following code, but it does not yield any result.
dbprovider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;"
dbsource = "Data Source = D:sprrg.mdb"
con.ConnectionString = dbprovider & dbsource
[Code]....
Here is my select stament to store values when username and password and check boxes are check
com =
New OleDbCommand("INSERT
INTO Users (UserName,Password,IsAdmin,Read,Write,Change,REMOVE,User_st) VALUES ('" & txtusername.Text &
"','" & txtpassword.Text &
"'," &
CInt(chkIsadmin.Checked) &
[Code]...
My problem is this wehen i add new record to my db it saves values like this the value of read column is as follows read = 1 when check box is checked and read = 0 when check box is checked but i want to save true or false instead 1 and 0 how to achieve this using vb.net and my db is Oracle.
Is there a way to do a select statement with conditional values?
For example: select * from table where column1 = (ifequals(column1, Active, Y, N))
i have a table with data title and date of the data inserted.and right now i want to do count to make the statistic out of it.can i do multiple count in one sql statement?like from, the column date, i want to count how many on this month, and how many in this year, until month selected. this is what i have come up, for now.
SELECT a.trigger_type_code
, c.trigger_name
, COUNT(*) AS number
FROM issue_trigger a
[code]....
by this is only for one count.
I want to check the current time with the half an hour time slots (total of 48 starts from 00:00,00:30,01:00,....23:30). Is it possible using select case statement.
I am storing the current time in an object.
Dim datime As DateTime = DateTime.Now.ToString("t")
now i need to do conditional check on this variable. under whichever the time slot the variable belongs, i need to write a value under corresponding timeslot.
i have 10 radio buttons that have yes/no values. These are options to one question, so need to in the database under 1 record. so - question1 yes, question 1 no, question1 yes and so on. i want to use a while loop or some other loop to take all these values and insert them or update them in the database for that particular question. i m new to programming. the db table is ID, question, Answer. so it will be 1 question1 yes, 2 question1 yes, 3 question1 no.
View 2 RepliesHow would I add the values from this case statement to figure out a total of all commission sales??
'declare variables for commission amount
Dim intAmount As Integer
Dim Sold As Integer
[code]....
intAmount is the commission
How do I combine the following two similar statement into one. They are similar in the sense that they both get input from the same textbox:
Me.ReportsQueryBindingSource.Filter = "ParkingSpaceID = '" & txtSearch.Text & "'"
Me.ReportsQueryBindingSource.Filter = "StudentID = '" & txtSearch.Text & "'"
I have tried couple :
Me.ReportsQueryBindingSource.Filter = "StudentID = '" & txtSearch.Text & "'" Or "ParkingSpaceID ='"& txtSearch.Text & "'"
Me.ReportsQueryBindingSource.Filter = "StudentID Or "ParkingSpaceID ='"& txtSearch.Text & "'"
......just none of them works...
I'm wanting to to make a color scheme selection feature for my program, which involves changing the foreground and background colors of many components at once. I have the components divided into groups in which all elements should have the same background and foreground.
vb
With BtnLoad And BtnSave And TbxListname And CmbProgDifficulty And TbxRptStandard And TbxQNA And BtnAddProbQ .ForeColor = Color.White .BackColor = Color.IndianRed End With
The problem is that this get's an error message saying that you cannot use "And" (or & or +) in the statement.If I just use one object at a time,
vb
With BtnLoad .ForeColor = Color.White .BackColor = Color.IndianRed End With
it works fine. I have so many objects though, I don't really want to copy and paste this with statement 50 times. is there a way to make a with statement take multiple objects?