내 프로그램을 통해 저장 프로시저를 사용하여 데이터베이스를 검색하려고 합니다. 목표는 입력된 세 가지 기준 중 하나를 사용하여 검색하는 것입니다. ID#, 이름 및/또는 성. MySql에서 다음 저장 프로시저를 만들었습니다.
으아아아내 C# 코드는 다음과 같습니다:
데이터베이스 쿼리:
으아아아브리지 쿼리(한 곳에서 추가 로직을 편집하거나 제거해 보세요):
으아아아검색 버튼 클릭 후 전화:
으아아아필요한 경우 제가 사용하는 속성은 다음과 같습니다.
으아아아ID 검색할 때 잘 작동해요! 하지만 이름 및/또는 성만 검색하려고 하면 다음 오류가 발생합니다.
으아아아이름이 비어 있으면 공백에 서식 문제가 발생할 수 있다고 생각하여 내용을 추가하기 위해 공백을 입력하려고 시도했지만 작동하지 않았습니다. 내 저장 프로시저가 설정된 방식으로 돌아가나요, 아니면 C# 코드로 돌아가나요? 한동안 시도해 보았지만 문제가 발생했습니다.
미리 감사드립니다!
이 질문에는 관련 없는 정보가 많이 있을 것이 거의 확실합니다. 이는 데이터베이스나 쿼리 또는
으아악string
를 숫자로 변환하는 것 외에는 거의 관련이 없습니다. 예외가 발생한 위치도 알려주지 않았지만 여기인 것 같습니다.if
TextBox
不包含 32 位整数的有效表示,则该代码将失败并显示该错误消息。显而易见的解决方案是在将用户输入转换为数字之前验证用户输入。毕竟它是一个TextBox
이므로 사용자는 무엇이든 입력할 수 있습니다.사용자가 무엇이든 입력했는지 먼저 테스트하는 것이 좋습니다. 그렇지 않다면 ID로 검색을 시도하지 않았으며 이에 따라 조치를 취하지 않았다고 가정할 수 있습니다. 이를 수행하는 방법은 귀하에게 달려 있지만 저는 완전히 다르게 할 것입니다. 그러나 이것은 이 질문의 범위를 벗어납니다. 무언가를 입력했다면 유효한 숫자인지 확인하고 그렇지 않으면 중지해야 합니다. 이 경우에만 계속해야 합니다. 모든 숫자 유형(및 기타 유형)의
TryParse
메소드를 한 단계로 확인하고 변환할 수 있습니다. 으아악