Error line is (possibly):
txtPartno.Text = dvp[0]["partnumber"].ToString();
Your query returns no row, therefore table has no row, therefore view has no row, therefore dvp[0] corresponds to no row. As a result, you have an exception in your hand.
But I think the actual problem is your implementation. If this event handler is for a TextBox, then whenever user presses a key, that code runs. For example, if you intend to write "a description", when you press key 'a', your query runs for
description=('a')
which (possibly) returns no row.
Some advices:
1- design multitier application (design a separate class for data management)
2- enclose your UI handling codes in a 'try catch' structure to avoid 'unhandled exception' and a total crash.
3- use the debugger to trace your code.